设置: Tomcat 7 Server,Eclipse Mars Milestone 3
问题:当尝试运行Servlet文件或连接到文件404时。尽管我可以完美地连接到JSP文件,但它只是404.下图所示的所有servlet文件。
还应该提及这个影响所有Servlet,而不仅仅是一个或两个ALL。
我认为这是一个本地问题,因为同事正在另一台机器上运行下一个相同的设置,尽管已经成功找到了servlet。
这是启动日志,尽管在启动时或加载servlet网址时都没有显示明显错误。
我在servlet中使用servlet映射来定义URL IE @WebServlet("/Sterling")
问题:可能导致此问题的原因以及如何解决?谢谢。
Sep 30, 2015 10:21:29 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Micro Focus\RUMBA\;C:\Program Files (x86)\Micro Focus\RUMBA\System;C:\Eclipse;
Sep 30, 2015 10:21:30 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:{redacted}' did not find a matching property.
Sep 30, 2015 10:21:30 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-80"]
Sep 30, 2015 10:21:30 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Sep 30, 2015 10:21:30 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1879 ms
Sep 30, 2015 10:21:30 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 30, 2015 10:21:30 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.34
Sep 30, 2015 10:21:37 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-80"]
Sep 30, 2015 10:21:37 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Sep 30, 2015 10:21:37 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6704 ms
Web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>*****DataManagementTool</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
部署程序集设置
答案 0 :(得分:-1)
这是一个未找到的错误。您的日志显示没有错误,因此非常简单,您的部署无法到达所需的servlet。
没有足够的信息来确定原因,但由于您可以访问JSP文件,我会检查您是否已将正确的servlet配置到WEB-INF/web.xml
描述符中。
修改
正如您刚刚编辑过的问题,我可以告诉您问题是什么。您尚未配置servlet ...按以下方式配置所需的servlet:
<servlet>
<servlet-name>Servlet Name</servlet-name>
<servlet-class>path.to.ServletClass</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Servlet Name</servlet-name>
<url-pattern>URL-PATTERN</url-pattern>
</servlet-mapping>
编辑2
在您的编辑之后,我没有看到您使用了注释,显然如果您注释了servlet,则不需要此配置。
编辑3
确保您的web.xml
具有正确的架构版本,以及其他方式可以让您的应用忽略注释。
<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">
我想你的servlet类继承自HttpServlet,对吗?