【实习设计一】Java web项目中web.xml文件加载

本文探讨了在启动基于Struts2+Spring+Hibernate的WEB项目时,WEB容器如何读取web.xml配置文件的过程。具体分析了context-param、listener、filter及servlet等元素的作用与配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:今天开始做实习设计,用到了Struts2+spring+hibernate框架,就对web容器以及各类框架的配置文件,进行一番深入的探究下。

1、当我们启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,

2、

①首先读取<context-param>,

param-name设置context的名字,param-value用来设置其值

<context-param>  
       <param-name>contextConfigLocation</param-name>  
       <param-value>  
           classpath*:/applicationContext.xml  
           classpath*:/applicationContext-security.xml  
       </param-value>  
</context-param>  
当param-value有多个值时,可以用空格或逗号隔开,或通配符

其次是listener

listener元素用来定义Listener接口,它的主要子元素为< listener-class>,中间是listener类的名称

<listener>  
    <listener-class>  
        org.springframework.web.context.ContextLoaderListener  
    </listener-class>  
</listener>  
接着是filter

<filter>有如下两个子元素↓↓

< filter-name>Filter的名称< /filter-name>定义Filter的名称.

< filter-class>Filter的类名称< /filter-class>定义Filter的类名称.例如:com.foo.hello

<filter-mapping>有如下几个子元素↓  ↓

< filter-name>Filter的名称< /filter-name>定义Filter的名称.

< url-pattern>URL< /url-pattern>Filter所对应的RUL.

< dispatcher>REQUEST|INCLUDE|FORWARD|ERROR< /disaptcher>设定Filter对应的请求方式,有RQUEST,INCLUDE,FORWAR,ERROR四种,默认为REQUEST.

<filter>  
    <filter-name>  
       hibernateOpenSessionInViewFilter  
    </filter-name>  
    <filter-class>  
       org.springframework.orm.hibernate3.support.OpenSessionInViewFilter  
    </filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>  
       hibernateOpenSessionInViewFilter  
    </filter-name>  
    <url-pattern>*.action</url-pattern>  
    <dispatcher>REQUEST</dispatcher>  
    <dispatcher>FORWARD</dispatcher>  
</filter-mapping>  
最后是servlet

<servlet></servlet> 用来声明一个servlet的数据,主要有以下子元素:   

     <servlet-name></servlet-name> 指定servlet的名称   

     <servlet-class></servlet-class> 指定servlet的类名称   

     <jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径   

     <init-param></init-param> 用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数   

     <load-on-startup></load-on-startup>指定当Web应用启动时,装载Servlet的次序。   

<servlet-mapping></servlet-mapping>  服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。

但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。

用来定义servlet所对应的URL,包含两个子元素   

       <servlet-name></servlet-name> 指定servlet的名称   

       <url-pattern></url-pattern> 指定servlet所对应的URL 

其中的<load-on-startup></load-on-startup>当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet. 当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它.    






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值