Servlet的配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LY121600HACKER/article/details/78302072

Servlet作为web组件可以处理http请求/响应,因而对外要求一个唯一的URL地址。Servlet可以在
web的配置文件/WEB-INF/web.xml中进行配置,也可以在注释中进行配置。

Servlet的配置分为声明和映射两个步骤:

1.声明:

(1).Servlet声明:通知web容器这个Servlet的存在。

    <servlet>
        <servlet-name>SignIn</servlet-name>
        <servlet-class>cn.mirror6.servlet.SignIn</servlet-class>
    </servlet>
<servlet-name>声明Servlet的名字,一般与Servlet的类名相同即可,要求在一个web.xml文件内名字唯一。
<servlet-class>指定Servlet的全名,即包名.类名。

(2).Servlet初始参数:在Servlet中可以读取参数信息,从而避免在Servlet代码中定义这些参数。当这些信息修改时,只修改配置文件即可。

    <servlet>
        <init-param>
            <param-name>driver</param-name>
            <param-value>com.mysql.jdbc.Driver</param-value>
        </init-param>
    </servlet>
<init-param>标签里的就是参数。                                     
<param-name>指定参数的名字。
<param-value>指定参数的值。

在Servlet中可以通过ServletConfig(config.getInitParameter(“”))取得定义的初始化参数.

(3).Servlet启动时机:在配置Servlet时,可以指定Servlet跟随web容器一起自动启动,这时Servlet就可
以在没有请求的情形下就行实例化和初始化,完成特定的任务。

    <load-on-startup>2</load-on-startup>

数字表示启动的顺序,数字越小越先启动,最小为0,表示紧跟web容器启动后,第一个启动。原则上不同的
Servlet应该使用不同的启动顺序。

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-value>org.apache.struts.action.ActionServlet</servlet-value>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

2.映射:

Servlet被外部访问,需要一个映射地址。

    <servlet-mapping>
        <servlet-name>servlet名称</servlet-name>
        <url-pattern>URL</url-pattern>
    </servlet-mapping>

(1).绝对地址映射:绝对地址只能映射到一个地址,URL的格式如下:/目录/目录/文件名.扩展名。

    <servlet-mapping>
        <servlet-name>LoginAction</servlet-name>
        <url-pattern>/login.action</url-pattern>
    </servlet-mapping>

(2).匹配目录模式映射:这类映射重点是匹配目录,只要目录符合映射模式,不考虑文件名,可以响应多个地址。
URL的格式如下:/目录/目录/*。

    <servlet-mapping>
        <servlet-name>MainAction</servlet-name>
        <url-pattern>/main/*</url-pattern>
    </servlet-mapping>

(3).匹配扩展名模式映射:以匹配扩展名的方式进行URL映射,不考虑文件的目录信息,也可以响应多个地址。
URL的格式如下:*.扩展名。

    <servlet-mapping>
        <servlet-name>MainAction</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

注意:不能混合使用映射模式,否则会出错。

注释的方法这里不做详细的介绍。

参照教材整理的学习笔记

猜你喜欢

转载自blog.csdn.net/LY121600HACKER/article/details/78302072