Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0
          struts用了也一年了,基本的東西都會用,不過因為是在工作中邊學邊用,難免很多知識點都不系統,慚愧呀。這幾天找本書梳理一下。

          ---MVC---
          V:多種視圖共享一個后臺模型
          M:實現與界面獨立,良好的封裝
          C:更好的維護程序流程

          model1:JSP(V、C)+JavaBean(M)
          只適用于小型程序,JSP的雙重角色使HTML和Java混合,很難維護。

          model2:JSP(V)+Servlet(C)+JavaBean(M)
          Struts也是model2(用ActionServlet代替Servlet)。Struts的所有功能都是建立在已有的Java Web組件上,如Servlet,JSP,JavaBean,它只是利用一種方式將這些元素組織了起來,使它們協同工作。

          ---點滴---
          在Struts應用程序中,所有的用戶請求都由ActionServlet接收,然后根據struts-config.xml查找相應的子控制器。Web容器加載Struts應用程序后,struts-config.xml被首先讀入內存成為一個ActionMapping對象。

          基本流程:HttpRequest-->XxxForm-->validate()=true-->XxxAction-->execute()-->(return) ActionForward-->JSP
          這其中的配置信息都存在于struts-config中

          國際化:<bean:message key=""/> + ApplicationResources.properties

          ---web.xml---
          <display-name>    ApplicationContext name
          <listener>   配置事件監聽器
          <session-config> -->  <session-timeout>    Session過期時間
          <welcome-file-list>   根URL的默認頁面:先找index文件,找不到再查找該list
          <error-page>     制定在返回特定HTTP狀態碼,或者特定類型的異常被拋出時顯示的頁面。
          <taglib>    對標記庫描述符文件(Tag Library Descriptor File)指定別名

          ---struts-config.xml---
          <data-source>   定義數據源
          <global-exceptions>   定義全局異常
          <global-forwards>      定義全局轉發(名字相同時,局部轉發優先)
          <controller>      定義控制配置類,如TilesRequestProcessor
          <message-resources>   指定消息資源文件,配合<bean:message key="" bundle="">使用
          <plug-in>      插件

          ---Action們---
          Action:線程安全的,所以都是singlon的。不應該在Action類中使用域變量保存用戶特定信息,如狀態信息(可以將一些與特定請求無關的變量定義為域變量,如Log變量)
          ActionForward:可以是靜態的從config文件中讀,如mapping.findForward("success");也可以是動態的指定,如new ActionForward("success","/aaa/bbb.jsp",true)

          預定義的Action
           ForwardAction:類似<jsp:forward>
           IncludeAction:類似<jsp:include>
            以上兩個Action,使Struts遵循MVC,避免直接調用JSP,可以充分利用控制器的預處理功能。 
           DispatchAction:以資源為中心,減少Action的數量。
            通常可設置parameter="method",則調用的url為http://xxx/yyy?method=add
            也可以設置parameter="add, update",則調用的url為http://xxx/yyy?add=true
           LookupDispatchAction:DispatchAction的子類,通過反查資源綁定,找到類中對應的方法。
           SwitchAction:Struts支持多應用程序模塊(即multi-module),SwitchAction用來執行在不同應用程序模塊間的切換操作。
          posted on 2007-04-08 23:47 Jcat 閱讀(436) 評論(1)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: Struts
          2007-04-22 14:52 | 炎涼
          請問下 IncludeAction是怎么使用的呢?要在頁面上怎么寫?
          像ForwardAction,我們要在頁面上寫<html:link page="/page.do" />
          那IncludeAction應該怎么寫?  回復  更多評論
            
          主站蜘蛛池模板: 吉水县| 益阳市| 眉山市| 岳阳市| 韩城市| 阿克| 辽阳市| 阳曲县| 武川县| 和硕县| 象州县| 江门市| 准格尔旗| 抚顺市| 故城县| 上林县| 松滋市| 阿合奇县| 新泰市| 深泽县| 佳木斯市| 韶关市| 沁水县| 栾川县| 安康市| 台中市| 奉贤区| 来安县| 博白县| 屯昌县| 夏河县| 双柏县| 静宁县| 惠水县| 陕西省| 柘荣县| 华安县| 广宗县| 泾阳县| 海宁市| 邢台县|