Struts配置文件之web.xml

Struts配置文件之web.xml

         在Java Web程序的开发过程中,web.xml文件是一个必须的文件,它位于“WEB-INF”文件夹中。

       在Struts 2 框架中,web.xml是一个非常重要的配置文件,它对Web程序的一些初始化信息进行了配置。Struts 2框架所依赖的FilterDispatcher过滤器(此过滤器用来拦截Web程序的HTTP请求),必须在web.xml文件中进行配置。

       web.xml文件中含有一系列标签元素,这些标签元素代表了不同的功能,后面我们将讲解部分常用的标签元素。

       web.xml文件中可以包含哪些标签是由其对应的Schema文件来定义的(web.xml的Schema文件以前由Sun公司定义,现在有Oracle公司定义)。因此,必须在每个web.xml文件的根元素web-app中指定其Schema文件的版本(如果不指定Schema文件,web.xml文件中将不会出现代码校验和提示功能)。

<?xml version="1.0"encoding="UTF-8"?>
<web-app id="WebApp_9"version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
...
</web-app>


         在上面的代码中第1行,定义了XML文件的版本和编码方式,在<web-app>标签中指明了Schema文件的来源,其他标签元素如果需要,则要添加在<web-app>和</web-app>标签之间。

1.welcome-file-list和welcome-file元素

访问一个网站时,必不可少的便是欢迎页面(第一个页面,即输入网站会调转到的页面)。

通常,欢迎页面都会在web.xml文件中进行指定。

在web.xml文件中,welcome-file-list和welcome-file元素就是用来指定欢迎页面的。welcome-file-list元素中可以包含多个welcome-file元素,每个welcome-file元素指定一个欢迎页面,Tomcat会按照顺序查找,找到了便开始跳转,不在执行查找后面的。

代码如下:

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


注释:如果在访问Web应用时,若只指定了根名,Tomcat会先查看web.xml中是否指定了欢迎界面,如果指定了,边去访问欢迎界面;否则,Tomcat默认会去查找index.htmlindex.jsp页面;如果两个页面都不存在,就会报错。

 

2.filter和filter-mapping元素

         filter元素用于声明一个过滤器,使用该元素可以同时拦截多个请求的URL,filter-mapping元素用来指定与过滤器相关联的URL。

       代码如下:

<filter>
     <filter-name>struts2</filter-name><!-- 指定过滤器的名称 -->
    <!-- 设置实现类为Struts2提供的过滤器类 -->
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
        <filter-name>struts2</filter-name>
        <!-- 定义过滤器负责拦截的URL地址 -->
        <url-pattern>/*</url-pattern>
 </filter-mapping>


       注:在上面代码<url-pattern>标签中的“/*”代表过滤所有的URL请求。

3.error-page元素

         在浏览网页时,我们经常可以看到一些HTTP的元素错误,如:HTTP404错误,当我们不想让用户看到这些错误时,我们可以配置吗?web.xml文件中的error-page元素便能配置Web程序中的一些错误。

         error-page元素可以通过错误码元素error-code配置HTTP错误的跳转,还可以通过配置exception-type来捕获java异常。

         代码如下:

<!--配置HTTP错误跳转  -->
<error-page>
    <error-code>404</error-code>
    <location>/error.jsp</location>
</error-page>
<!-- 配置捕获java异常 -->
<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/exception.jsp</location>
</error-page>


4.listener元素

         listener元素用来注册监听器,其内部listener-class元素用来指定监听器的实现类名。

       代码如下(用于初始化Spring框架):

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


5.session-config元素

         session-config元素用来设置会session(会话)的过期时间。

代码如下:

<session-config>
    <!-- 设置session超出30分钟自动失效 -->
    <session-timeout>30</session-timeout>
</session-config>


6.init-param元素(必须在servlet、filter中)

         init-param元素用来配置初始化值,用在servlet或者filter之中。

         代码如下:

<init-param>
        <param-name>struts.i18n.encoding</param-name>
        <param-value>UTF-8</param-value>
</init-param>


用在servlet中代码如下:

<servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>org.com.LoginServlet</servlet-class>
     <init-param>
        <param-name>struts.i18n.encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</servlet>


用在filter中代码如下:

<filter>
     <filter-name>struts2</filter-name><!-- 指定过滤器的名称 -->
    <!-- 设置实现类为Struts2提供的过滤器类 -->
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
        <param-name>struts.i18n.encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
 </filter>


 

       到这里为止,web.xml的常用配置便讲解完了,希望可以供大家参考!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值