從制造到創(chuàng)造
          軟件工程師成長(zhǎng)之路
          posts - 292,  comments - 96,  trackbacks - 0

          4.1 Web應(yīng)用的發(fā)布描述文件

          包含以下信息:

          • 初始化參數(shù)
          • Session配置
          • Servlet聲明
          • Servlet映射
          • 應(yīng)用生命周期的監(jiān)聽類
          • 過(guò)濾器定義和映射
          • MIME類型映射
          • 歡迎文件列表
          • 出錯(cuò)處理頁(yè)面
          • 標(biāo)簽庫(kù)映射
          • JNDI引用

          4.1.1 Web應(yīng)用發(fā)布描述文件的文檔類型定義(DTD)

          包含元素,屬性,實(shí)體

          <web-app>元素是web.xml的根元素,其他元素必須嵌入在<web-app>元素以內(nèi)。

          <servlet>必須在<servlet-mapping>之前;
          <servlet-mapping>必須在<taglib>之前;

          4.2 為Struts 應(yīng)用配置 web.xml 文件

          4.2.1 配置 Struts 的 ActionServlet

          <!-- Standard Action Servlet Configuration (with debugging) -->
          <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/conf/struts-config.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>config/bank</param-name>
                  
          <param-value>
                      /WEB-INF/conf/struts-config-bank.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>config/card</param-name>
                  
          <param-value>
                      /WEB-INF/conf/struts-config-card.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>config/publicarea</param-name>
                  
          <param-value>
                      /WEB-INF/conf/struts-config-publicarea.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>config/maintenance</param-name>
                  
          <param-value>
                      /WEB-INF/conf/struts-config-maintenance.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>config/report</param-name>
                  
          <param-value>
                      /WEB-INF/conf/struts-config-report.xml
                  
          </param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>debug</param-name>
                  
          <param-value>2</param-value>
              
          </init-param>
              
          <init-param>
                  
          <param-name>detail</param-name>
                  
          <param-value>2</param-value>
              
          </init-param>
              
          <load-on-startup>2</load-on-startup>
          </servlet>

          <servlet-mapping>
          <!-- Standard Action Servlet Mapping -->
          <servlet-mapping>
                  
          <servlet-name>action</servlet-name>
                  
          <url-pattern>*.do</url-pattern>
          </servlet-mapping>

          說(shuō)明:
          1、一個(gè)項(xiàng)目可以配置多個(gè)<servlet>,且其中一個(gè)名為action;
          2、在action的<servlet>中,可配置多個(gè)config,第一個(gè)為config,其他以“config/”開頭,如:config/bank;
          3、在全局<forward>元素中的例子:
          <global-forwards>
              
          <forward name="toBank" path="/bank/login.do" />
          </global-forwards>
          4、使用<action>元素中的局部<forward>元素,例如:
          <action-mappings>
            
            
          <action>
              
          <forward> name="success" path="/bank/index.do" />
            
          </action>
          </action-mappings>
          5、<url-pattern>屬性為“*.do”,表明ActionServlet負(fù)責(zé)處理所有以“.do”擴(kuò)展名結(jié)尾的URL。

          4.2.2、 聲明 ActionServlet 的初始化參數(shù)

          <init-param>子元素用于聲明 Servlet 初始化參數(shù)。見4.2.1的代碼清單。

          4.2.3、配置歡迎文件清單

          <!-- The Usual Welcome File List -->
          <welcome-file-list>
                  
          <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>
          從第一個(gè)文件依次往后面找,如果沒(méi)有找到,拋出404錯(cuò)誤。

          在歡迎文件中不能配置Servlet映射,可通過(guò)變通的方式處理。
          1、在 Struts 配置文件中為被調(diào)用的 Action 創(chuàng)建一個(gè)全局的( global) 轉(zhuǎn)發(fā)項(xiàng),例如:
          <global-forwards>
            
          <forward name="welcome" path="HelloWordl.do" />
          </global-forwards>
          2、創(chuàng)建一個(gè)welcome.jsp文件:
          <%@ tablib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
          <html>
            
          <body>
              
          <logic:forward name="welcome" />
            
          </body>
          </html>
          3、最后配置歡迎頁(yè)面為welcome.jsp即可。

          4.2.4 配置錯(cuò)誤處理

          1、避免用戶看到原始的錯(cuò)誤信息
          <error-page>
            
          <error-code>404</error-code>
            
          <location>/common/404.jsp</location>
          </error-page>
          <error-page>
            
          <error-code>500</error-code>
            
          <location>/common/500.jsp</location>
          </error-page>

          2、也可為Web 容器捕獲 Java 異常配置 <error-page>元素,這是需要設(shè)置<exception-type>子元素,它用于指定Java異常類。可捕獲如下異常:
          A、RuntimeException 或 Error
          B、ServletException 或它的子類
          C、IOException 或它的子類
          例如:

          <!-- The default error page -->
          <error-page>
                  
          <exception-type>java.lang.IOException</exception-type>
                  
          <location>/common/IOError.jsp</location>
          </error-page>

          4.2.5 配置 Struts 標(biāo)簽庫(kù)

          <!-- Struts Tag Library Descriptors -->
          <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-tiles</taglib-uri>
                  
          <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
          </taglib>

          用戶自定義的客戶化標(biāo)簽庫(kù)和標(biāo)準(zhǔn)的類似。

          posted on 2008-03-21 11:51 CoderDream 閱讀(408) 評(píng)論(0)  編輯  收藏 所屬分類: Java-22.Struts

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(9)

          我參與的團(tuán)隊(duì)

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458389
          • 排名 - 114

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 眉山市| 井冈山市| 彭泽县| 长岭县| 十堰市| 冷水江市| 黄大仙区| 渭源县| 巴彦县| 延津县| 永登县| 城固县| 临沧市| 安多县| 石棉县| 永福县| 金溪县| 乌兰浩特市| 神木县| 荆州市| 普兰店市| 开阳县| 芦溪县| 乌鲁木齐市| 邻水| 义乌市| 比如县| 辛集市| 衢州市| 越西县| 镇远县| 苏尼特左旗| 福海县| 武乡县| 衡山县| 镇巴县| 盐亭县| 萨迦县| 潞西市| 紫金县| 兴宁市|