web.xml中servlet的配置

时间:2022-04-29 13:24:14

<servlet>元素是配置Servlet所用的元素。

<servlet-mapping>元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet。

 

下面给出一段配置代码: 

<servlet>
  <servlet-name>ServletName</servlet-name>   
  <servlet-class>xxxpackage.xxxServlet</servlet-class>   <!--Servlet的类-->
  <init-param>                                     <!--初始化一个变量,可看成全局变量,可省略-->
    <param-name>参数名称</param-name>              <!--变量名称-->

    <param-value>参数值</param-value>              <!--变量值-->
  </init-param>

</servlet>
<servlet-mapping>
  <servlet-name>ServletName</servlet-name>               
  <url-pattern>/aaa/xxx</url-pattern>                   <!--映射的url路径 -->

</servlet-mapping>

 

在地址栏中输入http://localhost:8080/web-App/aaa/xxx就可以访问了。

缺省Servlet

1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。

2.凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。

3.在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。

当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。

例1--缺省Servlet:

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 通过初始化参数指定xml配置位置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/config/spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

例2:

    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/config/spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    <!-- 拦截所有以do结尾的请求 -->
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>    

待续..