我正在尝试访问 servlet 类型
http://localhost:8082/Libruary/controller
而 Tomcat 6 给出错误 404:
HTTP Status 404 - /Libruary/controller
type Status report
message /Libruary/controller
description The requested resource (/Libruary/controller) is not available.
Apache Tomcat/6.0.26
我想这意味着 web.xml 文件中有问题。
所以,这是我的 web.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>by.epam.web.libruary.jspservlet.Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/controller</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
我命名并映射了 servlet,这就是为什么我不知道哪里不正确的原因。 这是 tomcat 文件夹中的项目层次结构:
webapps
--Libruary
---web.xml
---...
---WEB-INF
----classes
-----by
------epam
-------web
--------libruary
---------jspservlet
----------Controller.class
我使用 Eclipse 生成了 .class 文件。 .java 文件位于/scr 目录中,该目录与类处于同一级别(但我想它是可选的)。我在这个级别还有/lib 目录,其中包含 servlet-api.jar。我不知道还能说什么。将非常感谢您的帮助。
最佳答案
web.xml
应该在 WEB-INF/
中。
关于Tomcat 6 看不到 web.xml 中映射的 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375142/