当前位置: 首页 > 知识库问答 >
问题:

HTTP 状态 404 - 请求的资源不可用

平山
2023-03-14

我在使用MyEclipse IDE中的Tomcat服务器和Struts 2框架时遇到了一个反复出现的问题。我正在运行我的程序作为一个服务器应用程序,当它运行时,默认的index.jsp文件将成功打开,但该应用程序的其他过去都将无法工作。当试图加载任何我的。do页面,我得到以下错误: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

有什么建议吗?

共有1个答案

通煜祺
2023-03-14

我看不出有任何理由在你的类路径中添加javax.servlet-3.0.1.jar。由于您使用Eclipse来构建/运行您的应用程序,因此当您将Tomcat或任何服务器作为运行时环境添加到您的项目时,这些lib依赖项将自动添加到类路径中。简单地从项目的lib文件夹中删除此jar。这也可能有其他原因。

  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)正在尝试提供相同的信息。拥有特定于应用程序的实现是一个稳定性和安全性问题,这是规范 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>
 类似资料:
  • 当我开始login.jsp表单并键入用户名和密码时,我有这个错误错误错误是HTTP状态404:请求的资源不可用。 我错过了什么?有什么帮助吗? 登录。JAVA 登录。jsp Web.xml Struts配置 这就是我http://www.tutorialspoint.com/struts_2/struts_database_access.htm

  • 问题内容: 在Tomcat服务器上运行Eclipse项目时出现以下错误: HTTP状态404-请求的资源(/ ProjectName /)不可用。 浏览器地址栏中的URL为。 我真的不知道文件中缺少什么。我在文件夹中有一个,并且我的包含以下条目: 问题答案: 默认情况下,当您打开项目根文件夹而不是中的物理文件时,服务器将在中查找欢迎文件。如果未找到任何内容,则将出现此404“找不到页面”错误。 就

  • 我无法在tomcat8服务器上启动测试应用程序。当我输入时,错误消息是“HTTP Status 404-type Status Report.message:description请求的资源不可用。”起始页工作良好。我把所有的jar文件(jersey-client、jersey-common、jersey-container-servlet、jersey-container-servlet-cor

  • 我正在制作一个简单的程序,以几个字段作为输入,然后点击确认按钮后,confirm.jsp将出现。 我创建了Controller.java servlet来标识单击的按钮,然后打开JSP。controller.java存储在web-inf/classes/ch2/servletController目录中,而submit.jsp、register.jsp、confirm.jsp存储在/ch2/serv

  • 我的文件夹中的JSP文件中有一个HTML表单。我在文件夹的默认包中有一个servlet类。在我的中,它被映射为。 我在HTML表单的属性中尝试了几个URL: 但这些都没用。它们都在Tomcat 6/7/8中不断返回HTTP 404错误,如下所示: 描述:请求的资源(/servlet)不可用。 或在Tomcat 8.5/9中如下所示: 消息:/servlet 描述:源服务器找不到目标资源的当前表示形

  • 我的文件夹中的JSP文件中有一个HTML表单。我有一个servlet类在文件夹中的默认包中。在我的它被映射为。 我在HTML表单的属性中尝试了几个URL: 但这些都不管用。它们都会不断返回HTTP 404错误,如Tomcat 6/7/8中的以下错误: 描述:请求的资源(/servlet)不可用。 或如Tomcat 8.5/9中所示: 消息:/servlet 描述:源服务器没有找到目标资源的当前表示