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的數量。
            通??稍O置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應該怎么寫?  回復  更多評論
            
          主站蜘蛛池模板: 沙湾县| 孙吴县| 赫章县| 皋兰县| 原平市| 上栗县| 随州市| 靖西县| 沈丘县| 新建县| 桦南县| 双辽市| 黔南| 阳春市| 六安市| 青河县| 兴宁市| 阳高县| 甘孜县| 汾阳市| 桂林市| 秦安县| 南召县| 平利县| 罗城| 邓州市| 苍溪县| 改则县| 灵台县| 张家川| 五家渠市| 辽阳市| 淮北市| 宁德市| 海宁市| 柏乡县| 吐鲁番市| 唐山市| 无极县| 荣昌县| 福建省|