javastruts2weblogicweblogic12c

Why am I getting error 404 when I open the application I deployed on weblogic?


I´ve a web application with spring + hibernate + struts2 running in weblogic 12.c So when I run it on my local weblogic it runs perfectly, but when I deploy it to my qa server which also has a weblogic 12.c I get error 404 even though the application status says it´s active. From the weblogic I open the application options, then the test option and finally the url that it has according to the weblogic, but I still get error 404. I´ve try checking my database connections, my context without any success.

Here is my weblogic.xml:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    <!-- Usar las librerias del repositorio y no las del weblogic -->
    <container-descriptor>
       <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor> 
    <!-- Configuracion del directorio virtual -->
    <virtual-directory-mapping>   
        <local-path>C:\Oracle\Middleware\user_projects\domains\WeegoWeb</local-path>
        <url-pattern>formatos/*</url-pattern>
        <url-pattern>maletas/*</url-pattern>
        <url-pattern>modems/*</url-pattern>
        <url-pattern>sims/*</url-pattern>
        <url-pattern>contratos/*</url-pattern>
        <url-pattern>qr/*</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.zip</url-pattern>
        <url-pattern>*.pdf</url-pattern>
    </virtual-directory-mapping>     
    <jsp-descriptor>
        <keepgenerated>true</keepgenerated>
        <debug>true</debug>
    </jsp-descriptor>
    <!-- Configuracion del contexto -->
    <context-root>WeegoWeb</context-root>
    <fast-swap>
        <enabled>false</enabled>
    </fast-swap>
</weblogic-web-app>

and my web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     version="3.0">
    <display-name>WeegoWeb</display-name>
    
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
    </jsp-config>
    
    <filter>
        <filter-name>sanitizarFilter</filter-name>
        <filter-class>com.proximate.generales.interceptors.SanitizarFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>sanitizarFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>       
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>struts</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
      <filter-name>CharacterEncodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/conf/spring/context.xml</param-value>
    </context-param>
    <context-param>
        <param-name>tilesDefinitions</param-name>
        <param-value>/WEB-INF/tiles.xml</param-value>
    </context-param>
        
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
    </listener>
    <listener>
        <listener-class>com.proximate.generales.interceptors.LoginInterceptor</listener-class>
    </listener>

    <welcome-file-list>
        <welcome-file>jsp/index.jsp</welcome-file>
    </welcome-file-list>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <error-page>
        <error-code>404</error-code>
        <location>/jsp/404.jsp</location>
    </error-page>   
<!--    <error-page>
        Missing login
        <error-code>401</error-code>
        <location>/jsp/error/error2.jsp</location>
    </error-page>
    <error-page>
        Forbidden directory listing
        <error-code>403</error-code>
        <location>/jsp/error/error2.jsp</location>
    </error-page>
    <error-page>
        Uncaught exception
        <error-code>500</error-code>
        <location>/jsp/error/error2.jsp</location>
    </error-page>
    <error-page>
        Unsupported servlet method
        <error-code>503</error-code>
        <location>/jsp/error/error2.jsp</location>
    </error-page> -->   
</web-app>

What could it be happening thay only on my local environment is working and in my qa server is showing error 404?


Solution

  • After checking the logs I found that the hibernate-configuration-3.0.dtd couldn´t be reached because the blocked the port 80 in the server, so for now I downloaded the hibernate-configuration-3.0.dtd and place it as a local resource so my hibernate mapping files could use them localy. I think I´m going to migrate from xml hibernate to annotations to avoid more issues.