【发布时间】:2017-09-19 10:33:25
【问题描述】:
我只是对如何为多个 servlet 修改 web.xml 感到困惑。 我得到了三个 servlet 来处理三个不同的 jsp,但是现在只有一个 servlet 有效。
【问题讨论】:
我只是对如何为多个 servlet 修改 web.xml 感到困惑。 我得到了三个 servlet 来处理三个不同的 jsp,但是现在只有一个 servlet 有效。
【问题讨论】:
您应该像这样在 web.xml 文件中声明和定义类/servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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">
<servlet>
<servlet-name>LoginForm</servlet-name>
<servlet-class>com.project.system.LoginForm</servlet-class>
</servlet>
<servlet>
<servlet-name>RegisterForm</servlet-name>
<servlet-class>com.project.system.RegisterForm</servlet-class>
</servlet>
<servlet>
<servlet-name>UserController</servlet-name>
<servlet-class>com.project.controller.UserController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginForm</servlet-name>
<url-pattern>/LoginForm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RegisterForm</servlet-name>
<url-pattern>/RegisterForm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UserController</servlet-name>
<url-pattern>/UserController</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
【讨论】:
注意:如果有多个 servlet 文件,请确保每对 servlet 和 servlet-mapping 标签必须包含相同的 servlet-name。此后,另一对也强制包含另一个 servlet-name 等等。
这就是为什么,我在这里提到了“Project”、“Pro”和“Proj”servlet-name,因为三个不同的(多个)sevlet 文件。
<servlet>
<servlet-name> Project </servlet-name>
<servlet-class> com.project.Contact.Contact </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Project </servlet-name>
<url-pattern> /contact </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name> Pro </servlet-name>
<servlet-class> com.project.Login.Login </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Pro </servlet-name>
<url-pattern> /login </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name> Proj </servlet-name>
<servlet-class> com.project.Register.Register </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Proj </servlet-name>
<url-pattern> /register </url-pattern>
</servlet-mapping>
【讨论】: