Maven关于web.xml中Servlet和Servlet映射的问题

时间:2024-09-28 17:34:50

在配置Servlet时,有两个地方需要配置.

  1. 一个是<servlet>,另一个是<servlet-Mapping>,这两个一个是配置Servlet,一个是配置其映射信息.

  2. <servlet>中的<servlet-name>可以随意指定,但要有一定的意义,一般取为类的名称,例如我的类名为ServletDemo,这里取名为ServletDemo,下面的<servlet-class>是类的全路径,package+calssname,一定要是全路径!

  3. <servlet-Mapping>是映射信息,它也有一个<servlet-name>,里面的名字是对应的Servlet名,也就是我们上面配置的Servlet名字,这里是ServletDemo,下面的是映射路径,也就是访问Servlet的名称.

  4. web.xml 的 / 表示的是http://localhost:8080/ + 工程名

    而.jsp页面的action,加了/表示绝对路径http://localhost:8080/ ,没有加 / 表示的是相对路径

  5. 配置信息如下

<!-- 配置一个servlet -->
<!-- servlet的配置 -->
<servlet>
<!-- servlet的内部名称,自定义。尽量有意义 -->
<servlet-name>ServletDemo</servlet-name>
<!-- servlet的类全名: 包名+简单类名 -->
<servlet-class>lm.practice.ServletDemo</servlet-class>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
<servlet-name>ServletDemo</servlet-name>
<!-- servlet的映射路径(访问servlet的名称) -->
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
  1. 访问路径如下图所示

    Maven关于web.xml中Servlet和Servlet映射的问题

相关文章