如何修改多个servlet的web.xml

时间:2017-04-22 12:44:09

标签: java xml servlets

我对如何修改多个servlet的web.xml感到困惑。 我有三个servlet来处理三个不同的jsp,但现在只有一个servlet是有效的。

2 个答案:

答案 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>