JavaWeb —— Servlet 接口与配置

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>

猜你喜欢

转载自blog.csdn.net/qq_41204918/article/details/90141022