傳智播客學習之Struts基礎

一、Struts開發框架

       基於MVC模式,其中Controller部分是通過專門的Servlet來實現的,Model部分一般由ActionFormJavaBeanEJB組成 View部分依然採用JSP來實現。此外,Struts還提供了豐富的自定義標記庫

二、利用開發商務網站身份驗證模塊

步驟如下:

具體步驟

1.         創建web工程

2.         下載添加struts jar包,拷貝到當前工程的web-Inf/lib目錄下

3.         準備視圖界面(jsp頁面)。

注意先採用傳統HTML,提交請求必須爲*.do,表單元素的名稱必須和一定要保證和bean中的setget後的首字母變小寫後的子串一樣

4.         定義javabean接受表單數據。

注意struts中定義的接受表單數據的javaBean必須繼承ActionForm

5.         創建控制器組件(建立一個struts包,裏面建立一個java類,必須繼承Action,並重寫http的那個excute方法)

6.         準備配置文件

1)  配置web.xml文件

<servlet>

 <servlet-name>action</servlet-name>

<!-- struts的中央控制器,在目前的struts版本中,只能配置一個ActionServlet,多線程運行 -->

 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

 <init-param>

 <param-name>config</param-name>

 <param-value>/WEB-INF/struts-config.xml</param-value>

 </init-param>

<!-- 數值越小,啓動越靠前,服務器啓動時實例化ActionServlet 同時調用ActionServetinit方法初始化-->

 <load-on-startup>0</load-on-startup>

 </servlet>

 <servlet-mapping>

 <servlet-name>action</servlet-name>

 <url-pattern>*.do</url-pattern>

 </servlet-mapping>

注意:初始化參數必須以config開頭。雖然不一定是config

配置Struts-config..xml

<struts-config>

<form-beans >

<form-bean name="loginForm" type="com.qinli.struts.form.LoginForm"></form-bean>

</form-beans>

<action-mappings>

 <action path="/login" name="loginForm" type="com.qinli.struts.action.LoginAction">

       <forward name="success" path="/success.jsp"></forward>

      <forward name="error" path="/error.jsp"></forward>

  </action>

 </action-mappings>

</struts-config>

7.         發佈運行

三、Struts運行流程

1)        服務器啓動的時候加載ActionServlet

2)        調用ActionServletinit方法,讀取Struts-config.xml文件

3)        在內存中(servletcontext)中已經存在Struts-config.xml文件的配置。

4)        客戶端請求form actionlogin.do)屬性找到web.xml文件,轉到struts的中央控制器ActionServlet

5)        ActionServlet解析請求路徑/login

6)        ActionServletStruts-config..xml文件中查找Action節點(根據path屬性),path屬性的值爲/loginAction節點

7)        ActionServlet根據name屬性的值找到form-beans標籤,創建formBean的實例

8)        把頁面提交過來的數據封裝到該FormBean的對象中

9)        ActionServlet讀取Action標籤中的type屬性的值,實例化ActionLoginAction),自動調用actionexecute方法

10)     ActionServlet根據findForward(“success”)中的success的值在對應的action標籤中查找<forward>標籤,讀取該標籤的path屬性的值,轉發或者重定向

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章