转 struts web.xml配置

【struts】web.xml的配置 收藏
1. web.xml

       web.xml文件对任何的Web项目都是一个必须的文件,使用Struts时,还需要对该文件进行一些必须的配置。

1.1 ActionServlet的配置
一般需要在该文件中配置Struts的Servlet,示例配置如下:

Eg1. 简单的Struts的ActionServlet的配置:

view plaincopy to clipboardprint?
<servlet> 
 
    <servlet-name>action</servlet-name> 
 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
 
    <init-param> 
 
      <param-name>config</param-name> 
 
      <param-value>/WEB-INF/struts-config.xml</param-value> 
 
    </init-param> 
 
    <init-param> 
 
      <param-name>debug</param-name> 
 
      <param-value>3</param-value> 
 
    </init-param> 
 
    <init-param> 
 
      <param-name>detail</param-name> 
 
      <param-value>3</param-value> 
 
    </init-param> 
 
    <load-on-startup>0</load-on-startup> 
 
 </servlet> 
 
 <servlet-mapping> 
 
    <servlet-name>action</servlet-name> 
 
    <url-pattern>*.do</url-pattern> 
 
 </servlet-mapping> 
<servlet>

    <servlet-name>action</servlet-name>

    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

    <init-param>

      <param-name>config</param-name>

      <param-value>/WEB-INF/struts-config.xml</param-value>

    </init-param>

    <init-param>

      <param-name>debug</param-name>

      <param-value>3</param-value>

    </init-param>

    <init-param>

      <param-name>detail</param-name>

      <param-value>3</param-value>

    </init-param>

    <load-on-startup>0</load-on-startup>

 </servlet>

 <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

 </servlet-mapping>

 

  对于复杂的应用,一般需要配置多个struts-config.xml文件,可以通过添加另外的<init-param>来实现,或者在多个配置文件中以为“,”隔开,如下所示:

Eg2. 配置多个struts-config.xml配置文件的ActionServlet的配置:

view plaincopy to clipboardprint?
<servlet> 
 
                   <servlet-name>action</servlet-name> 
 
                   <servlet-class> 
 
                            org.apache.struts.action.ActionServlet  
 
                   </servlet-class> 
 
                   <init-param> 
 
                            <param-name>config</param-name> 
 
                            <param-value>/WEB-INF/struts-config.xml</param-value> 
 
                   </init-param> 
 
                   <init-param> 
 
                            <param-name>config/IVR</param-name> 
 
                            <param-value>/WEB-INF/struts-config-IVR.xml</param-value> 
 
                   </init-param> 
 
                   <init-param> 
 
                   <param-name>config/wap</param-name> 
 
                            <param-value> 
 
                                     /WEB-INF/struts-config-wap.xml  
 
                            </param-value> 
 
                   </init-param> 
 
                   <init-param> 
 
                            <param-name>debug</param-name> 
 
                            <param-value>3</param-value> 
 
                   </init-param> 
 
                   <init-param> 
 
                            <param-name>detail</param-name> 
 
                            <param-value>3</param-value> 
 
                   </init-param> 
 
                   <load-on-startup>0</load-on-startup> 
 
         </servlet> 
 
<servlet-mapping> 
 
               <servlet-name>action</servlet-name> 
 
               <url-pattern>*.do</url-pattern> 
 
      </servlet-mapping> 
<servlet>

                   <servlet-name>action</servlet-name>

                   <servlet-class>

                            org.apache.struts.action.ActionServlet

                   </servlet-class>

                   <init-param>

                            <param-name>config</param-name>

                            <param-value>/WEB-INF/struts-config.xml</param-value>

                   </init-param>

                   <init-param>

                            <param-name>config/IVR</param-name>

                            <param-value>/WEB-INF/struts-config-IVR.xml</param-value>

                   </init-param>

                   <init-param>

                   <param-name>config/wap</param-name>

                            <param-value>

                                     /WEB-INF/struts-config-wap.xml

                            </param-value>

                   </init-param>

                   <init-param>

                            <param-name>debug</param-name>

                            <param-value>3</param-value>

                   </init-param>

                   <init-param>

                            <param-name>detail</param-name>

                            <param-value>3</param-value>

                   </init-param>

                   <load-on-startup>0</load-on-startup>

         </servlet>

<servlet-mapping>

               <servlet-name>action</servlet-name>

               <url-pattern>*.do</url-pattern>

      </servlet-mapping>

 


1.2 欢迎和错误处理的配置
       首先讲述一下欢迎文件清单<welcome-file-list>的配置,该元素可包含多个<welcome-file>子元素,当Web容器调用欢迎界面时,将首先查看第一个<welcome-file>子元素中定义的文件是否存在,若存在,则将其返回给用户,若不存在,继续判断第二个<welcome-file>子元素中定义的文件……,配置示例如下:


view plaincopy to clipboardprint?
<welcome-file-list> 
 
                   <welcome-file>index.html</welcome-file> 
 
                   <welcome-file>index.jsp</welcome-file> 
 
                   <welcome-file>default.jsp</welcome-file> 
 
         </welcome-file-list> 
<welcome-file-list>

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

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

                   <welcome-file>default.jsp</welcome-file>

         </welcome-file-list>

 

接着讲述一下在web.xml中如何配置错误处理,这时需要使用<error-page>元素,该元素可以根据异常的类型来配置跳转的页面,还可以根据错误码来配置跳转页面,配置示例如下:

view plaincopy to clipboardprint?
<!-- 根据错误码进行跳转--> 
 
<error-page>   
 
<error-code>500</error-code>   
 
<location>/error.jsp</location>   
 
</error-page> 
 
<!-- 根据异常进行跳转--> 
 
<error-page>   
 
<exception-type>java.lang.NullException</exception-type>   
 
<location>/error.jsp</location>   
 
</error-page> 
<!-- 根据错误码进行跳转-->

<error-page>

<error-code>500</error-code>

<location>/error.jsp</location>

</error-page>

<!-- 根据异常进行跳转-->

<error-page>

<exception-type>java.lang.NullException</exception-type>

<location>/error.jsp</location>

</error-page>
 


1.3 tld文件的配置

       若Web工程没有使用Struts的标签库,可以不在web.xml中使用Struts的标签库信息。当然若开发人员使用了struts的标签库,也可以直接在jsp页面中引入标签库,例如通过如下方式引入:view plaincopy to clipboardprint?
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> 
 
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested"%> 
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested"%>

 

在Struts中进行配置的的好处是因为可以在Struts中配置为tld文件配置一个简要的名称或者更加易懂的名称,例如在web.xml文件中增加如下配置:view plaincopy to clipboardprint?
<taglib> 
 
    <taglib-uri>/tags/struts-bean</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-html</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-logic</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-nested</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> 
 
 </taglib> 
<taglib>

    <taglib-uri>/tags/struts-bean</taglib-uri>

    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

 </taglib>

 <taglib>

    <taglib-uri>/tags/struts-html</taglib-uri>

    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

 </taglib>

 <taglib>

    <taglib-uri>/tags/struts-logic</taglib-uri>

    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>

 </taglib>

 <taglib>

    <taglib-uri>/tags/struts-nested</taglib-uri>

    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>

 </taglib>

  

    其中<taglib-uri>元素指定标签库的相对或者绝对URI地址,Web应用将根据这一URI来访问标签库;<taglib-location>元素指定标签库描述文件在文件资源系统中的物理位置。

此时在jsp页面通过如下方面引入标签库:


view plaincopy to clipboardprint?
<%@ taglib uri="/tags/struts-bean " prefix="bean"%> 
 
<%@ taglib uri="/tags/struts-html" prefix="html"%> 
 
<%@ taglib uri="/tags/struts-logic " prefix="logic"%> 
 
<%@ taglib uri="/tags/struts-nested " prefix="nested"%> 
<%@ taglib uri="/tags/struts-bean " prefix="bean"%>

<%@ taglib uri="/tags/struts-html" prefix="html"%>

<%@ taglib uri="/tags/struts-logic " prefix="logic"%>

<%@ taglib uri="/tags/struts-nested " prefix="nested"%>

 

 

1.4 完整配置实例

       下面举一个使用Struts的Web项目的web.xml的简单配置实例(该实例开发人员也参考struts-1.2.8-bin.zip包的webapps目录下的struts-mailreader.war),内容如下所示:view plaincopy to clipboardprint?
<?xml version="1.0" encoding="ISO-8859-1"?> 
 
<!DOCTYPE web-app  
 
 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"  
 
 "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> 
 
<web-app> 
 
         <display-name>Struts Example Application</display-name> 
 
 <!-- Action Servlet Configuration --> 
 
 <servlet> 
 
    <servlet-name>action</servlet-name> 
 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
 
    <init-param> 
 
      <param-name>config</param-name> 
 
      <param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-config-registration.xml</param-value> 
 
    </init-param> 
 
    <load-on-startup>1</load-on-startup> 
 
 </servlet> 
 
 <!-- Action Servlet Mapping --> 
 
 <servlet-mapping> 
 
    <servlet-name>action</servlet-name> 
 
    <url-pattern>*.do</url-pattern> 
 
 </servlet-mapping> 
 
 <!-- 欢迎列表--> 
 
 <welcome-file-list> 
 
    <welcome-file>index.jsp</welcome-file> 
 
 </welcome-file-list> 
 
 <!-- 错误处理 --> 
 
 <error-page> 
 
   <exception-type>java.lang.Exception</exception-type> 
 
   <location>/error.jsp</location> 
 
 </error-page> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-bean</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-html</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-logic</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> 
 
 </taglib> 
 
 <taglib> 
 
    <taglib-uri>/tags/struts-nested</taglib-uri> 
 
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> 
 
 </taglib> 
 
</web-app> 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值