web.xml 配置文件

web.xml 文件

web.xml是web项目的配置文件,一般的web工程都会用到web.xml来配置,方便大型开发。web.xml主要用来配置Filter,Listener,Servlet等。但是web.xml并不是必须的,一个web工程可以没有web.xml文件。

web.xml 的加载过程

web 容器的加载顺序:

ServletContext -> context-param -> listener -> filter -> servlet。并且这些元素可以配置在文件中的任意位置,不会因为filter在web.xml文件中写在listener前面就先加载filter。

web 工程加载 web.xml 过程:

  1. 启动一个 web 项目,web 容器会读取它的配置文件 web.xml,读取 <listener> 和 <context-param> 两个结点;
  2. 创建一个 ServletContext(Servlet 上下文),这个 web 项目的所有部分都将共享这个上下文;
  3. 容器将 <context-param> 转换为键值对,并交给 ServletContext;
  4. 容器创建<listener>中的类实例,创建监听器;

web.xml文件元素

<web-app>:根元素,用于存放其他元素

<display-name>:用于标记这个 Web 应用的名称

<display-name>Demo</display-name>

<discription>:用于描述 Web 应用

<disciption>This is a demo</disciption>

<context-param>:声明应用范围内的初始化参数。用于向ServletContext提供键值对,即应用程序上下文信息。listener,filter在初始化时会用到这些上下文信息。可以通过 getServletContext().getInitParameter() 得到。

<context-param>
    <param-name>log4jConfiguration</param-name>
    <param-value>/WEB-INF/log4j2.xml</param-value>
</context-param>

<filter>:主要用于对用户请求 request 进行预处理,也可以对 response 进行后处理

<filter>
    <filter-name>setCharacterEncoding</filter-name>
    <filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>setCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listerner>:监听器

<listener> 
    <listerner-class>com.listener.SessionListener</listener-class> 
</listener>

<servlet>:用于注册 servlet,包含如下几个主要的子元素

<servlet-name>:用于设置 Servlet 的注册名称

<servlet-class>:用于设置 Servlet 的完整类名

<init-param>:用来定义参数,在 servlet 类中通过 getInitParamenter() 方法访问初始化参数。

<load-on-startup>:指定 Web 应用启动时装载 Servlet 的次序。当值为正数或零时 Servlet 容器按数值从小到大加载,当值为负或未定义时 Servlet 容器将在 Web 客户首次访问这个 servlet 时加载它。

<servlet-mapping>:用于映射一个已注册的Servlet的一个对外访问路径,包含两个子元素

<servlet-name>:用于指定 Servlet 的注册名称

<url-pattern>:用于指定 Servlet的 对外访问路径

<servlet>
    <servlet-name>ServletDemo1</servlet-name>
    <servlet-class>com.servlet.ServletDemo1</servlet-class>
    <init-param>
        <param-name>account</param-name>
        <param-value>root</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>123</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>ServletDemo1</servlet-name>
    <url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>

<session-config>:会话超时配置,单位为min

<session-config>
    <session-timeout>120</session-timeout>
</session-config>

<welcome-file-list>:欢迎文件页,显示时按顺序从第一个找起,如果存在就显示,如果不存在就找下一个

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
</welcome-file-list>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值