我正在尝试在Eclipse中进行servlet映射。使用注释来映射servlet似乎工作正常,但是当我尝试使用web.xml文件时,我遇到了问题。我希望能够映射jsp,因此我想在注释样式上使用xml文件。这是我在尝试将servlet映射添加到web.xml文件时遇到的错误。
这是我的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Ryans Testing Project</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>
<servlet>
<servlet-name>AController</servlet-name>
<servlet-class>controller/AController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AController</servlet-name>
<url-pattern>/AController</url-pattern>
</servlet-mapping>
</web-app>
此外,这是我的文件结构的图像:
答案 0 :(得分:1)
<servlet-class>
标记只能使用完全限定的类名。所以这样做
<servlet>
<servlet-name>AController</servlet-name>
<servlet-class>controller.AController</servlet-class>
</servlet>
其中controller
是包名。
我希望能够映射jsp,因此我想在注释样式上使用xml文件。
以下是Servlet 3.0规范所说的内容:
10.13 Inclusion of a web.xml Deployment Descriptor
如果Web应用程序不包含任何Servlet,Filter或Listener组件,或者使用注释声明相同,则不需要包含web.xml。换句话说,仅包含静态文件或JSP页面的应用程序不需要存在web.xml。