隨筆-54  評論-0  文章-2  trackbacks-0

           

          Struts1.x的深入
          1. Struts1.x是Apache軟件基金下Jakarta項目的一個子項目,目前Struts的最新版本是Struts1.4
          。學習Struts,不僅是因為他占據了當今的主流市場,還因為他開源,可以學習底層代碼,還可以重用

          2.Struts中使用技術
          http
          CGI
          Java servlet
          Jsp
          jsp標簽
          JavaBean
          Model2(JSP+Servlet+JavaBean)

          3.Struts分為三層:Controller 有servlet充當
          Model 有JavaBean擔任 
          View 有jsp擔任
          4.Struts開發環境的搭建
          JDK 服務器
          5.Struts使用的標簽庫

          下面開始今天的主體:

          6.手工搭建Struts

          1.新建web工程
          2.添加jar包,網上下個Struts的壓縮包struts-1.3.10-all.zip,解壓后將其lib目錄下的所有jar導入當前工程的/WEB-INF/lib目錄下
          3.定義視圖 login.jsp

          4.定義javaBean接收表單參數,該javaBean必須繼承ActionForm
          注意該javaBean中的屬性要和表單中參數一致,比如
          我在表單中有:<input type="text" name="username" value="">用戶名</input>
          那我在javaBean中必須的setUsername和GetUsername方法

          5.新建控制器 LoginAction ,繼承Action ,要重寫execute方法
          在該方法中
          LoginForm loginForm = (LoginForm) form;
          String username = request.getParameter("username");
          String psw = request.getParameter("psw");
          return
          6.配置web.xml
          7.配置struts-config.xml    

          **************************************************************************************************************

           8. Struts的啟動過程

          服務器啟動的時候,加載ActionServlet,調用ActionServlet的init方法,讀取

          struts-config.xml文件,在內存中(ServletContext)中已經存在

          9.Struts的運行過程

          客戶端請求/login.do,轉到struts的中央控制器ActionServlet,ActionServlet解析請求路徑/login ,ActionServlet解析請求路徑/login

          ActionServlet在Struts-config。xml文件中查找Action節點(根據path(action的唯一標志)屬性)中path屬性的值為/login的Action節點,ActionServlet根據name屬性的值,找到form-bean標簽,讀取type屬性的值,創建該formBean的實例,把頁面的提交過來的數據封裝到FormBean的對象中

          Struts1.x的深入
          1. Struts1.x是Apache軟件基金下Jakarta項目的一個子項目,目前Struts的最新版本是Struts1.4
          。學習Struts,不僅是因為他占據了當今的主流市場,還因為他開源,可以學習底層代碼,還可以重用

          2.Struts中使用技術
          http
          CGI
          Java servlet
          Jsp
          jsp標簽
          JavaBean
          Model2(JSP+Servlet+JavaBean)

          3.Struts分為三層:Controller 有servlet充當
          Model 有JavaBean擔任 
          View 有jsp擔任
          4.Struts開發環境的搭建
          JDK 服務器
          5.Struts使用的標簽庫

          下面開始今天的主體:

          6.手工搭建Struts

          1.新建web工程
          2.添加jar包,網上下個Struts的壓縮包struts-1.3.10-all.zip,解壓后將其lib目錄下的所有jar導入當前工程的/WEB-INF/lib目錄下
          3.定義視圖 login.jsp

          4.定義javaBean接收表單參數,該javaBean必須繼承ActionForm
          注意該javaBean中的屬性要和表單中參數一致,比如
          我在表單中有:<input type="text" name="username" value="">用戶名</input>
          那我在javaBean中必須的setUsername和GetUsername方法

          5.新建控制器 LoginAction ,繼承Action ,要重寫execute方法
          在該方法中
          LoginForm loginForm = (LoginForm) form;
          String username = request.getParameter("username");
          String psw = request.getParameter("psw");
          return
          6.配置web.xml
          7.配置struts-config.xml    

          **************************************************************************************************************

           8. Struts的啟動過程

          服務器啟動的時候,加載ActionServlet,調用ActionServlet的init方法,讀取

          struts-config.xml文件,在內存中(ServletContext)中已經存在

          9.Struts的運行過程

          客戶端請求/login.do,轉到struts的中央控制器ActionServlet,ActionServlet解析請求路徑/login ,ActionServlet解析請求路徑/login

          ActionServlet在Struts-config。xml文件中查找Action節點(根據path(action的唯一標志)屬性)中path屬性的值為/login的Action節點,ActionServlet根據name屬性的值,找到form-bean標簽,讀取type屬性的值,創建該formBean的實例,把頁面的提交過來的數據封裝到FormBean的對象中

          ActionServlet讀取Action標簽中的type屬性的值,實例化Action(LoginAction),

          自動調用action中的execute()方法

          :ActionServlet會針對每一個<Action> 創建一個與之對應的ActionMapping

          對象,ActionMapping對象中封裝著<action>標簽的屬性信息

          相信你也會有很多疑問:

          * struts中的javaBean為什么要繼承ActionForm?
          * javaBean中屬性的名稱必須為什么和表單頁面中組件的name屬性的值相同?
          * struts的頁面表單的數據是怎么封裝到javaBean中?
          * 控制器組件為什么必須要繼承Action
          * 為什么重寫execute(ActionMapping mapping, ActionForm form,
          HttpServletRequest request, HttpServletResponse response)

          * execute方法的四個參數是怎么傳遞的

          下篇重寫底層代碼,以理解Struts底層實現!


          posted on 2010-01-15 02:44 d66380022 閱讀(1436) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 西乌珠穆沁旗| 克什克腾旗| 禹城市| 江达县| 年辖:市辖区| 丹江口市| 大英县| 泽州县| 集安市| 分宜县| 新沂市| 蕲春县| 宁化县| 泽州县| 长治市| 阜城县| 呼图壁县| 西宁市| 格尔木市| 永胜县| 荆门市| 临城县| 罗平县| 长海县| 会宁县| 潮安县| 丰台区| 通化市| 延长县| 桃源县| 韩城市| 沂水县| 遵义市| 介休市| 涟水县| 广丰县| 旌德县| 德化县| 辽中县| 搜索| 科技|