<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創(chuàng)造了水;
    因為黑暗,上帝創(chuàng)造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    class>
      </servlet>
      
      <servlet-mapping>
      <servlet-name>action</servlet-name>
      <uri-pattern>*.do</url-pattern>
      </servlet-mapping>
      
      注意:不管應(yīng)用中包含多少個子應(yīng)用,都只需配置一個ActionServlet,因為ActionServlet支持多線程,目前的Structs框架只允許在應(yīng)用中配置一個ActionServlet。
      
      第二步:初始化參數(shù)對Servlet的運行環(huán)境進行初始化配置。
      
      <servlet>
      <servlet-name> action</servlet-name>
      <servlet-class> org.appache.structs.ActionServlet </servlet-class>
      <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/structs-config.xml</param-value>
      </init-param>
      </servlet>
      
      表2-1. Struts1.1中用到的初始化參數(shù)
      
      參數(shù)名       含義/默認值
      config     以相對路徑的方式指明Struts應(yīng)用程序的配置文件位置。如不設(shè)置,則默認值為/WEB-INF/struts-config.xml。
      config/sub1   以相對路徑的方式指明子應(yīng)用程序的配置文件位置,一般來說,很少用到子應(yīng)用程序,在此不多描述。
      debug      設(shè)置Servlet的debug級別,控制日志記錄的詳細程度。默認為0,記錄相對最少的日志信息。
      detail     設(shè)置Digester的debug級別,Digester是Struts框架所使用的用來解析xml配置文件的一個框架,通過該設(shè)置,可以查看不同詳細等級的解析日志。默認為0,記錄相對最少的日志信息。
      
      第三步:配置歡迎清單
      
      當客戶訪問Web應(yīng)用時,如果僅僅給出Web應(yīng)用的Root URL,沒用指定具體的文件名,Web容器會自動調(diào)用Web應(yīng)用的歡迎文件。
      
      <welcome-file-list>
      <welcome-file>welcome.jsp</welcome-file>
      <welcome-file>index.jsp</welcome-file>
      </welcome-fiel-list>
      
      說明:<welcome-file-list>可以包含多個<welcome-file>子元素,首先查找第一個<welcome-file>文件。
      
      由于<welcome-file-list>元素中不能配置Servlet映射,因此不能直接把Structs的Action作為歡迎文件,可以采用一種變通的方法來實現(xiàn)在歡迎文件中調(diào)用Structs Action。首先,在Structs配置文件中為被調(diào)用的Action創(chuàng)建一個全局的轉(zhuǎn)發(fā)項,例如:
      <global-forwards>
      <forward name=”welcome” path=”HelloWord.do”/>
      </global-forwords>
      
      創(chuàng)建一個welcome.jsp的文件
      
      最后在web.xml文件中把welcome.jsp文件配置為歡迎文件,代碼如下:
      <welcome-file-list>
      <welcome-file>welcome.jsp</welcome-file>
      </welcome-file-list>
      
      第四步:配置錯誤處理
      
      <error-page>
      <error-code>404</error-code>
      <location>/commom/404.jsp</location>
      </error-page>
      <error-page>
      <error-code>505</error-code>
      <location>/commom/505.jsp</location>
      </error-page>
      
      也可以為Web容器捕獲的Java異常配置<error-page>,需要設(shè)置<exception-type>子元素,它用于指定Java異常類。Web容器可能捕獲如下異常:
      
      RuntimeException或Error  ServletException或它的子類 IOException或它的子類
      
      <error-page>
      <exception-type>java.io.IOException</exception-type>
      <location>/common/system_ioerror.jsp</location>
      </error-page>
      
      第五步:配置Structs標簽庫
      
      使用客戶化的標簽庫,要配置它們
      
      <taglib>
      <tag-uri>/WEB-INF/structs-html.tld<tag-uri>
      <taglib-location>/WEB-INF/structs-html.tld</taglib-location>
      </taglib>
      
      <tag-uri>用于指定標簽庫的相對或者絕對URI地址,Web應(yīng)用根據(jù)這一URI來訪問標簽庫。
      
      <taglib-location>指定標簽描述文件在文件資源系統(tǒng)中的物理位置。
      
      2.Structs配置文件
      
      Structs框架在啟動時會讀入其配置文件,根據(jù)它來創(chuàng)建和配置各種Structs組件。
      
      1<Structs-config>元素
      
      <structs-config>元素是Structs配置文件的根元素,<structs-cofig>元素有8個子元素。它的DTD定義如下:
      
      <!ELEMENT structs-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapping,controller?,message-resources*,plug-in*)>
      
      在Struts配置中,必須按照以上的DTD指定的先后順序來配置<Structs-config>元素的各個子元素,如果顛倒了這些元素的配置文件中的位置,在Structs應(yīng)用啟動時會生成錯誤。
      
      <data-sources>元素
      
      <data-sources>元素包含零個、一個或者多個<data-sources>子元素,<data-sources>用于配置特定的數(shù)據(jù)源,它可以包含多個<set-property>子元素,用于設(shè)置數(shù)據(jù)源的各種屬性。
      。。。
      
      配置了數(shù)據(jù)源后,就可以在Action類中訪問數(shù)據(jù)源,在org.apache.structs.action.Action類中定義了getDataSource(HttpRequrst)方法,它用于獲取數(shù)據(jù)源對象的引用。
      
      DataSource dataSource;
      Connection connection;
      dataSource =getDataSource(request);
      connection=dataSource.getConnection();
      
      也可以在配置文件中聲明多個數(shù)據(jù)源,此時需要為每一個數(shù)據(jù)源分配唯一的key值,通過改值來標識特定的數(shù)據(jù)源。
      
      2<form-beans>元素
      
      <form-beans>元素用來配置多個ActionForm Bean,<form-beans>包含多個<forom-bean>子元素,,每個<from-bean>包含多個屬性,ClassName , name,type
      
      <form-beans>
      <form-bean name="HelloForm" type="hello.HelloForm"/>
      </form-beans>
      
      注意:配置動態(tài)ActionForm Bean,還必須配置<form-bean>元素的<form-property>元素。
      
      <form-beans>
      <form-bean name="HelloForm" type="hello.HelloForm"/>
      <form-bean name="userForm" type="org.apache.structs.action.DynaAction">
      <from-property name="firstname" type="java.lang.String"/>
      <form-property name="secondname" type="java.lang.String">
      <form-property name="age" type="java.Integer" initial="18">
      </form-beans>
      
      3<global-exception>元素
      
      <global-exception>用于配置異常處理,<global-exception>元素可以包含零個或者多個<exception>元素。
      
      <exception>元素用來設(shè)置java異常和異常處理類org.apache.structs.action,Exception Hander之間的映射。
      
      4<gloable-forwards>元素
      
      <global-forwards>元素用來聲明全局的轉(zhuǎn)發(fā)關(guān)系,<global-forwards>有零個或多個<forward>元素組成。<forward>元素用于把一個邏輯映射到特定的URL
      
      屬性      描 述
      
      className  和<forward>元素對應(yīng)的配置類,默認為org.apache.structs.action.ActionForWard
      
      name     轉(zhuǎn)發(fā)路徑的邏輯名,此項時必須的
      
      path     指定或者重定向的URI。此項時必須的,必須以”/”開頭
      
      redirect   此項是true,表示是執(zhí)行重定向的操作,此項是false時,表示請求轉(zhuǎn)發(fā)。
      
      <global-forwards>
      <forward name="forward1" path="/Action1.do"/>
      <forward name="forward1" path="/Action2.do"/>
      </global-forwards>
      
      如果jsp1.jsp把請求轉(zhuǎn)發(fā)給Action1,可以使用以下代碼:
      
      <html:link forward=”forward1”>
      
      或者<logic:forward name=”forward1”>
      
      如果Action1的execute()方法把請求轉(zhuǎn)發(fā)給JSP2.jsp,可以使用一下代碼:
      
      return(mapping.findForward(“forward2”))
      
      5<action-mapping>元素
      
      <action-mapping>元素包含零個或者多個<action>元素。<action>元素描述了從特定的請求路徑到相應(yīng)的Action類的映射。
      
      6<controller>元素
      
      <controller>元素用于配置ActionServlet。
      
      7< message-resources>元素
      
      <message-resources>元素用于配置Resource Bundle,Resource Budle用于存放本地化消息文件。
      
      Structs標簽
      
      HTML標簽
      
      標簽名        描述
      base         包裝HTML的base元素
      button        包裝HTML的 button類型的input元素
      cancel        包裝HTML cancel 按鈕
      checkbox       包裝HTML checkbox 類型的輸入域
      errors        有條件地顯示一些error消息,顯示ActionErrors信息
      file         包裝HTML文件上傳輸入域
      form         定義HTML form 元素
      frame        包裝HTML frame 元素
      hidden        包裝HTML hidden 輸入域
      html         包裝 HTML中的 html 元素
      image        包裝 "image"類型的輸入域
      img         包裝HTML的 img 元素
      javascript      包裝根據(jù)ValidatorPlugIn提供的校驗規(guī)則所提供的javascript校驗?zāi)_本
      link         包裝超鏈接
      messages       有條件地顯示一些提示信息,顯示ActionMessages信息
      multibox       包裝多選輸入框
      option        包裝一個選擇輸入框
      options       包裝一批選擇輸入框
      optionsCollection  包裝一批選擇輸入框集
      password       包裝密文輸入框
      radio        包裝單選輸入框
      reset        包裝“重置”功能的按鈕
      rewrite       包裝一個URL
      select        包裝一個選擇輸入框
      submit        包裝一個提交按鈕
      text         包裝一個文本輸入框
      textarea       包裝一個備注輸入框
      
      ActionForm
      ActionForm 的要求
      
      創(chuàng)建一個ActionForm 并不困難,但是你的類必須符合一些要求:
      
      ActionForm 必須擴展自org.apache.struts.ActionForm。基類ActionForm 是不能實例化的。
      
      ActionForm 必須為每個應(yīng)該從請求中收集的HTML控件定義一個公共屬性。
      
      (Struts 1.0 要求每個屬性都要mutator 和accessor 。Struts 1.1 則沒有如此嚴格)
      
      ActionForm還可能要符合一些可選的要求:
      
      如果你要求ActionForm 在傳遞屬性到Action之前校驗它們,你就必須實現(xiàn)validate
      
      方法;
      
      如果想在組裝前初始化屬性,必須實現(xiàn)reset , 它在ActionForm 組裝前被調(diào)用;
      
      動態(tài)ActionForm
      
      ActionForm 作為類型轉(zhuǎn)換器
      
      ActionForm的一個強制點是應(yīng)該使用String 和boolean屬性。實際上,這意味著屬性
      
      必須得從一種轉(zhuǎn)換到另一種類型。大部分應(yīng)用也需要一些屬性,比如電話號碼或者數(shù)量,以
      
      一種格式化的方式出現(xiàn)。核心Java 包提供一些工具來做這種事情,但是要清楚地將他們集
      
      成到應(yīng)用中仍然是一個挑戰(zhàn)。
      
      Struts 開發(fā)人員經(jīng)常在ActionForm中包含helper方法,來進行類型轉(zhuǎn)換。helper 方法
      
      可以有很多種實現(xiàn)方式,這我們在5.6種敘述。
      
      5.2.6 ActionForm 作為防火墻
      
      當請求提交時,ActionServlet 使用一個自動組裝機制來從請求參數(shù)中設(shè)置請求的
      
      ActionForm屬性。這讓你可以通過控制哪個ActionForm 屬性被暴露來控制哪個請求參數(shù)
      
      是可接受的。這也意味著如果你的ActionForm 的粗心設(shè)計你可能失去控制哪個參數(shù)可以接
      
      受的能力。ActionForm 一定不能包含看起來像是一個JavaBean 屬性,但不能從HTTP 請
      
      求設(shè)置的屬性方法。
      
      5.3.4 ActionForm 可以嵌套其它bean
      
      因為Struts 標簽擴展和自動組裝機制都支持點號語法來從ActionForm訪問其它
      
      bean。這是一個方便的方式,可以通過ActionForm來組裝存在的bean。在JSP 頁面, 你可
      
      以象這樣引用一個嵌套的bean:
      
      <html:text
      propety="values.telephoneText"
      size="14"
      maxlength="14"/>
      
      5.7.2 分發(fā)(Dispatch )
      
      Struts 開發(fā)人員通常使用同一個Action處理相關(guān)的操作。一個通常做法來選擇操作是在HTML表單中使用隱藏屬性。BaseForm 的dispatch 屬性也可用作這個目的:
      public void setDispatch(String dispatch);
      public String getDispatch();
      
      Struts 配置提供連個級別嵌套的ActionForward:
      
      Global (全局) ActionForward對整個應(yīng)用中的所有Action 對象均有效;
      
      Local (局部) ActionForward 則在ActionMapping 元素中定義。僅對那些在這個
      
      ActionMapping中調(diào)用的Action對象有效。
      
      從Action 對象內(nèi)部來看,forward 通常像這樣來選擇:
      ActionForward forward = mapping.findForward("continue");
    posted on 2006-02-21 17:33 ★yesjoy★ 閱讀(202) 評論(0)  編輯  收藏 所屬分類: Structs學習
    主站蜘蛛池模板: 99视频免费播放| 国产三级电影免费观看| 午夜在线免费视频| 亚洲精品一二三区| 亚洲avav天堂av在线不卡| 亚洲女人被黑人巨大进入| 永久黄网站色视频免费直播| 91免费国产精品| 两个人看的www高清免费视频| 直接进入免费看黄的网站| 欧洲 亚洲 国产图片综合| 亚洲熟妇av一区二区三区下载| 亚洲av无码专区青青草原| 四虎影视永久免费观看网址| 人与禽交免费网站视频| 久久国产精品一区免费下载| 亚洲小视频在线播放| 久久99国产亚洲精品观看| 狠狠色婷婷狠狠狠亚洲综合| 久久精品视频免费播放| 不卡视频免费在线观看| 久香草视频在线观看免费| 九九精品国产亚洲AV日韩| 亚洲精品无码中文久久字幕| 亚洲精品无码鲁网中文电影| 亚洲精品国产精品乱码不卞| 免费吃奶摸下激烈视频| 国产成人免费高清在线观看| 中文字幕乱码免费看电影| 国产免费一区二区三区免费视频| 在线观看亚洲网站| 在线观看国产一区亚洲bd| 亚洲另类自拍丝袜第五页 | 羞羞视频免费网站入口| MM1313亚洲精品无码久久| 亚洲精品美女久久久久久久| 亚洲精品伦理熟女国产一区二区| 亚洲中文无码亚洲人成影院| 亚洲韩国精品无码一区二区三区| 亚洲精品成人片在线播放| 久久九九亚洲精品|