從制造到創造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0

          4.1 Web應用的發布描述文件

          包含以下信息:

          • 初始化參數
          • Session配置
          • Servlet聲明
          • Servlet映射
          • 應用生命周期的監聽類
          • 過濾器定義和映射
          • MIME類型映射
          • 歡迎文件列表
          • 出錯處理頁面
          • 標簽庫映射
          • JNDI引用

          4.1.1 Web應用發布描述文件的文檔類型定義(DTD)

          包含元素,屬性,實體

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

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

          4.2 為Struts 應用配置 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>

          說明:
          1、一個項目可以配置多個<servlet>,且其中一個名為action;
          2、在action的<servlet>中,可配置多個config,第一個為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負責處理所有以“.do”擴展名結尾的URL。

          4.2.2、 聲明 ActionServlet 的初始化參數

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

          4.2.3、配置歡迎文件清單

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

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

          4.2.4 配置錯誤處理

          1、避免用戶看到原始的錯誤信息
          <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>元素,這是需要設置<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 標簽庫

          <!-- 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>

          用戶自定義的客戶化標簽庫和標準的類似。

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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

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

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458376
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 马尔康县| 泰顺县| 鹤岗市| 邯郸市| 湘乡市| 宕昌县| 嘉黎县| 会宁县| 赤水市| 封开县| 巫溪县| 东辽县| 景谷| 陇川县| 宝应县| 杨浦区| 青河县| 安阳市| 八宿县| 历史| 岱山县| 同心县| 鸡泽县| 丰城市| 普宁市| 加查县| 阜平县| 星子县| 雷州市| 蒲江县| 泌阳县| 安化县| 永城市| 嘉鱼县| 九江县| 枣强县| 邵阳县| 宿州市| 绥德县| 海阳市| 石嘴山市|