一、Struts開發框架
基於MVC模式,其中Controller部分是通過專門的Servlet來實現的,Model部分一般由ActionForm和JavaBean及EJB組成 ,View部分依然採用JSP來實現。此外,Struts還提供了豐富的自定義標記庫
二、利用開發商務網站身份驗證模塊
步驟如下:
具體步驟
1. 創建web工程
2. 下載添加struts jar包,拷貝到當前工程的web-Inf/lib目錄下
3. 準備視圖界面(jsp頁面)。
注意先採用傳統HTML,提交請求必須爲*.do,表單元素的名稱必須和一定要保證和bean中的set後get後的首字母變小寫後的子串一樣
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 同時調用ActionServet的init方法初始化-->
<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) 調用ActionServlet的init方法,讀取Struts-config.xml文件
3) 在內存中(servletcontext)中已經存在Struts-config.xml文件的配置。
4) 客戶端請求form action(login.do)屬性找到web.xml文件,轉到struts的中央控制器ActionServlet
5) ActionServlet解析請求路徑/login
6) ActionServlet在Struts-config..xml文件中查找Action節點(根據path屬性),path屬性的值爲/login的Action節點
7) ActionServlet根據name屬性的值找到form-beans標籤,創建formBean的實例
8) 把頁面提交過來的數據封裝到該FormBean的對象中
9) ActionServlet讀取Action標籤中的type屬性的值,實例化Action(LoginAction),自動調用action的execute方法
10) ActionServlet根據findForward(“success”)中的success的值在對應的action標籤中查找<forward>標籤,讀取該標籤的path屬性的值,轉發或者重定向