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

在配置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. 访问路径如下图所示
posted @ 2020-03-09 13:07  juyss  阅读(407)  评论(0编辑  收藏  举报