【struts】web.xml的配置

阅读更多
1. web.xml

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

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

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

view plaincopy to clipboardprint?

     
     
        action 
     
        org.apache.struts.action.ActionServlet 
     
         
     
          config 
     
          /WEB-INF/struts-config.xml 
     
       
 
     
         
     
          debug 
     
          3 
     
       
 
     
         
     
          detail 
     
          3 
     
       
 
     
        0 
     
    
 
     
      
     
        action 
     
        *.do 
     
    
 

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

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

view plaincopy to clipboardprint?

     
     
                       action 
     
                        
     
                                org.apache.struts.action.ActionServlet 
     
                      
 
     
                        
     
                                config 
     
                                /WEB-INF/struts-config.xml 
     
                      
 
     
                        
     
                                config/IVR 
     
                                /WEB-INF/struts-config-IVR.xml 
     
                      
 
     
                        
     
                       config/wap 
     
                                 
     
                                         /WEB-INF/struts-config-wap.xml 
     
                               
 
     
                      
 
     
                        
     
                                debug 
     
                                3 
     
                      
 
     
                        
     
                                detail 
     
                                3 
     
                      
 
     
                       0 
     
            
 
     
     
     
                   action 
     
                   *.do 
     
         
 

1.2 欢迎和错误处理的配置

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

view plaincopy to clipboardprint?

     
     
                       index.html 
     
                       index.jsp 
     
                       default.jsp 
     
            
 

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

view plaincopy to clipboardprint?

     
     
      
     
    500  
     
    /error.jsp  
     
   
 
     
     
     
      
     
    java.lang.NullException  
     
    /error.jsp  
     
   
 

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"%> 

在Struts中进行配置的的好处是因为可以在Struts中配置为tld文件配置一个简要的名称或者更加易懂的名称,例如在web.xml文件中增加如下配置:
view plaincopy to clipboardprint?

     
     
        /tags/struts-bean 
     
        /WEB-INF/struts-bean.tld 
     
    
 
     
      
     
        /tags/struts-html 
     
        /WEB-INF/struts-html.tld 
     
    
 
     
      
     
        /tags/struts-logic 
     
        /WEB-INF/struts-logic.tld 
     
    
 
     
      
     
        /tags/struts-nested 
     
        /WEB-INF/struts-nested.tld 
     
    
 

  

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

此时在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"%> 

1.4 完整配置实例

       下面举一个使用Struts的Web项目的web.xml的简单配置实例(该实例开发人员也参考struts-1.2.8-bin.zip包的webapps目录下的struts-mailreader.war),内容如下所示:
view plaincopy to clipboardprint?

     
     
         
     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
     
     "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> 
     
     
     
             Struts Example Application 
     
      
     
      
     
        action 
     
        org.apache.struts.action.ActionServlet 
     
         
     
          config 
     
          /WEB-INF/struts-config.xml, /WEB-INF/struts-config-registration.xml 
     
       
 
     
        1 
     
    
 
     
      
     
      
     
        action 
     
        *.do 
     
    
 
     
      
     
      
     
        index.jsp 
     
    
 
     
      
     
      
     
       java.lang.Exception 
     
       /error.jsp 
     
    
 
     
      
     
        /tags/struts-bean 
     
        /WEB-INF/struts-bean.tld 
     
    
 
     
      
     
        /tags/struts-html 
     
        /WEB-INF/struts-html.tld 
     
    
 
     
      
     
        /tags/struts-logic 
     
        /WEB-INF/struts-logic.tld 
     
    
 
     
      
     
        /tags/struts-nested 
     
        /WEB-INF/struts-nested.tld 
     
    
 
     
   
 

你可能感兴趣的:(【struts】web.xml的配置)