为什么我在打开部署在 weblogic 上的应用程序时会出现 404 错误?
Why am I getting error 404 when I open the application I deployed on weblogic?
我有一个 Web 应用程序 spring + hibernate + struts2 运行ning in weblogic 12.c
所以当我 运行 它在我的本地 weblogic 上时它 运行 完美,但是当我将它部署到我的 qa 服务器也有一个 weblogic 12.c 我得到错误 404 即使应用程序状态说它是活跃的。
从 weblogic 我打开应用程序选项,然后是测试选项,最后是它根据 weblogic 具有的 url,但我仍然收到错误 404。
我尝试检查我的数据库连接,我的上下文没有任何成功。
这是我的 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>
和我的 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>
只有在我的本地环境中工作并且在我的 qa 服务器中显示错误 404,这会发生什么?
您在欢迎文件列表中使用了错误的文件名 jsp/index.jsp
。您应该将文件名写在 welcome-file
标签中。
<welcome-file>index.jsp</welcome-file>
FilterDispatcher
已弃用。您应该将 Struts 升级到最新版本并使用
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
查看如何编写 Web 应用程序描述符 web.xml。
注意: Struts 的版本在回答之日是 <= 2.3
检查日志后我发现无法访问 hibernate-configuration-3.0.dtd 因为服务器中的端口 80 被阻止,所以现在我下载了 hibernate-configuration-3 .0.dtd 并将其作为本地资源放置,以便我的休眠映射文件可以在本地使用它们。我想我要从 xml 休眠迁移到注释以避免更多问题。
在 Intellij 中遇到此错误 - weblogic 项目
“未找到错误404
来自 RFC 2068 超文本传输协议——HTTP/1.1:10.4.5 404 Not Found
不知何故,项目工件没有正确安装到本地 .m2 存储库中。通过 运行 mvn clean,package/install 命令确保其正确安装。
我有一个 Web 应用程序 spring + hibernate + struts2 运行ning in weblogic 12.c 所以当我 运行 它在我的本地 weblogic 上时它 运行 完美,但是当我将它部署到我的 qa 服务器也有一个 weblogic 12.c 我得到错误 404 即使应用程序状态说它是活跃的。 从 weblogic 我打开应用程序选项,然后是测试选项,最后是它根据 weblogic 具有的 url,但我仍然收到错误 404。 我尝试检查我的数据库连接,我的上下文没有任何成功。
这是我的 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>
和我的 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>
只有在我的本地环境中工作并且在我的 qa 服务器中显示错误 404,这会发生什么?
您在欢迎文件列表中使用了错误的文件名 jsp/index.jsp
。您应该将文件名写在 welcome-file
标签中。
<welcome-file>index.jsp</welcome-file>
FilterDispatcher
已弃用。您应该将 Struts 升级到最新版本并使用
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
查看如何编写 Web 应用程序描述符 web.xml。
注意: Struts 的版本在回答之日是 <= 2.3
检查日志后我发现无法访问 hibernate-configuration-3.0.dtd 因为服务器中的端口 80 被阻止,所以现在我下载了 hibernate-configuration-3 .0.dtd 并将其作为本地资源放置,以便我的休眠映射文件可以在本地使用它们。我想我要从 xml 休眠迁移到注释以避免更多问题。
在 Intellij 中遇到此错误 - weblogic 项目 “未找到错误404 来自 RFC 2068 超文本传输协议——HTTP/1.1:10.4.5 404 Not Found
不知何故,项目工件没有正确安装到本地 .m2 存储库中。通过 运行 mvn clean,package/install 命令确保其正确安装。