Servlet 配置包含在 web.xml 文件中,主要分为两个步骤:声明 Servlet 对象、创建 Servlet 映射。
1.声明 Servlet 对象
在 web.xml 文件中,通过 <servlet> 标签声明一个 Servlet 对象,在此标签下包含两个核心子元素:<servlet-name> 用于指定 Servlet 的名称,可以自定义;<servlet-class> 用于指定 Servlet 的完整位置
<init-param> 标签用于配置 Servlet 初始化参数,其子标签 <param-name> 用于指定参数名,<param-value> 用于指定参数值
<load-on-startup> 标签可以指定 Servlet 创建的时机:若为负数,则在第一次请求时被创建;若为 0 或正数,则在当前 Web 应用被 Servlet 容器加载时创建,且数字越小越早被创建。
例如:
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>servlet.Test</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>123456</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
2.映射 Servlet
在 web.xml 中声明了 Servlet 对象后,需要映射访问 Servlet 的 URL,该操作使用 <servlet-mapping> 标签进行配置。
<servlet-mapping> 标签包含两核心个子元素:<servlet-name> 与 <servlet> 标签中的 <servlet-name> 元素相对应,不可随意命名;<url-pattern> 用于映射访问 URL,在 Servlet 映射到的 URL 中,可以使用通配符 *,但只有两种格式:*.扩展名、/*
同一 Servlet 可以被映射到多个 URL 上,即多个 <servler-mapping> 元素的 <servlet-name> 子元素的设置值可以是同一个 Servlet 的注册名。
例如:
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/servlet/Test</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>