我对如何修改多个servlet的web.xml感到困惑。 我有三个servlet来处理三个不同的jsp,但现在只有一个servlet是有效的。
答案 0 :(得分:4)
您应该在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>
答案 1 :(得分:0)
注意:如果有多个servlet文件,请确保每对servlet和servlet映射标记对必须包含相同的servlet名称。然后,另一对也必须包含另一个servlet名称,依此类推。
这就是为什么我在这里提到“ Project”,“ Pro”和“ Proj” servlet名称,原因是三个不同的(多个)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>