-->

HTTP状态404 - 请求的资源不可用(HTTP Status 404 - The reques

2019-09-16 12:18发布

我遇到一个反复出现的问题,而使用MyEclipse的IDE内Tomcat服务器,与Struts 2框架。 我跑我的程序作为服务器应用程序,它运行在默认的index.jsp文件会成功打开,但没有应用程序的其他的过去的正常工作。 当试图加载任何的我的我的。做网页,我得到以下错误:HTTP状态404:请求的资源....不可用。 当我遇到了这个错误之前,我只是重新启动服务器,一切都很好,但我现在不具有相同的运气。

下面是从控制台日志时,我打运行。

Apr 12, 2012 10:49:35 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;C:\Program Files\MyEclipse\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_9.0.0.me201109141806\tomcat\bin
Apr 12, 2012 10:49:35 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Apr 12, 2012 10:49:35 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 285 ms
Apr 12, 2012 10:49:35 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Apr 12, 2012 10:49:35 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.13
Apr 12, 2012 10:49:35 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Documents and Settings\username\My Documents\Workspaces\.metadata\.me_tcat\webapps\project-name\WEB-INF\lib\javax.servlet-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
Apr 12, 2012 10:49:37 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 12, 2012 10:49:37 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Apr 12, 2012 10:49:37 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/16  config=null
Apr 12, 2012 10:49:37 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1720 ms

有什么建议么?

Answer 1:

我看不出有任何理由要添加javax.servlet-3.0.1.jar在类path.Since您使用的是Eclipse构建/运行应用程序,所以当你将放入Tomcat或运行时间ENV到任何服务器你的项目,这些库依赖将被自动添加到类path.Simple从项目的lib文件夹中删除这个罐子。 也有其他的原因,也为这一点。

  1. 的javax.servlet-3.0.1.jar已作为运行时库(在.WAR) - 和它在构建时只需要。
  2. 卸下WEB-INF / lib下的jar,并更新你的构建脚本以指向新的位置。

Servlet规范2.3,节9.7.2被称为说,在Servlet容器(例如Tomcat)的将提供实现类J2EE规范的。 该j2ee.jar的(servlet的api.jar文件在我们的情况?)在你的WEB-INF / lib目录正试图提供相同的信息。 拥有专用的实现是通过规范2.3和被Tomcat不允许一个稳定和安全的问题。

总之,从您的lib文件夹中删除的javax.servlet-3.0.1.jar而让容器采取你提供这些依赖护理。

要声明这是由容器使用Maven范围设置为“提供”这里是在你的pom.xml的条目应该如何看一个例子提供的依赖:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>


文章来源: HTTP Status 404 - The requested resource is not available