Struts1第一天

struts1  --servlet+mvc
hibernate --JDBC
spring  
擴展內容:
 struts2 
 JMail
 Weblogic
 EJB
 工作流jBPM
 jQuery
 ...

 

struts1框架:

1 框架:
 針對某一類應用提供的通用解決方案。
 作用:
  提供給程序員一些基礎代碼(跟業務無關、實現較複雜的代碼)
  開發效率會提高-在代碼框架搭建成功之後
 先了解框架的核心思想
2 struts1的核心思想
 基於MVC模式,用於web層的開源框架。

3 MVC模式:
 view  :顯示層
  作用:接受客戶端用戶的輸入的數據
        顯示系統內部信息給客戶端
  技術:
   html   構建頁面顯示信息
   javaScript 對客戶端的數據進行格式化校驗
   jstl  邏輯分支語句控制
    <c:forEach>
    <c:if>
   el  獲取數據並顯示
    參數  ${param.參數名}
    屬性  ${[**Scope.]屬性名}
    對象的相關信息 ${pageContext.request}
   ajax  使用異步通信對象,在不刷新客戶端頁面的同時,訪問服務器,並且局部更新客戶端頁面
 control :控制層
  作用:
   ****核心控制器:******
    *截獲所有的請求/響應
     web.xml:
     *.abc ===== ControllerServlet

     [/dwr/* ==== DWRServlet]
    根據請求信息查找映射文件,找到其對應的真正處理類路徑
     映射文件config.xml
      * ==== Servlet類路徑
    *調用真正的處理類
     反射機制調用servlet中的服務方法
   具體的web處理類
    servlet:
     接收客戶端輸入的數據,並封裝對象(實體模型)
     調用DAO(業務模型)進行持久化處理
 model  :模型層 
  作用:實體模型
   實體類----表結構
        業務模型
   DAO   ----數據訪問對象

4 mvc的優缺點:
 優點:
  顯示和模型解耦和
   多個顯示可以共用一個模型
  系統調用流程易於管理和維護
 缺點:
  搭建框架導致代碼量增大
  核心控制器類導致調用的效率降低

5 mvc的分類:
 model 1:
  jsp+javaBean
 model 2:
  jsp+servlet+javaBean


6 struts的實現:
 view
  html
  javaScript
  jstl
  el
  
  struts標籤 --功能擴展
 control
  控制器類 --ActionServlet
  核心配置文件 --struts-config.xml
  具體web處理類 --Action
 model
  沒有任何實現

7 struts編寫流程


struts-config.xml文件首先在容器啓動時,即被解析封裝爲ActionMapping對象
ActionMapping.findForward("邏輯名稱"):ActionForward;
 ActionForward<===>request.getRequestDsiapcther("跳轉路徑").forward(req,resp);

 

頁面--跳轉----》頁面
 違背了MVC的核心思想
 解決:
  編寫一個共用處理類Action
   由Action轉發系統內部資源
 struts解決:
  -------------------
  ForwardAction
  -------------------

  <action path="/addPage" type="org.apache.struts.actions.ForwardAction" parameter="/WEB-INF/page/add.jsp"></action>
  

客戶端頁面中參數的獲取及類型轉換
 ActionForm
  接受客戶端頁面form表單中的控件值


index.jsp----->ForwardAction---->add.jsp
add.jsp---/add.do--->AddForm---->AddAction

-------------------
forBean
-------------------
*FormBean的書寫規則:
 1 必須繼承ActionForm
 2 必須提供和頁面form表單中控件名一樣的屬性
 3 類型可以自由設定
FormBean的配置方式:
 <form-beans>
  <form-bean name="formBean的邏輯名稱" type="formBean的具體類路徑">
 </form-beans>
 <action-mappings>
  <action path="客戶端發出請求" type="Action的類路徑" name="formBean的邏輯名稱">
 </action-mappings>


add.do--->web.xml--->ActionServlet---->struts-config.xml---><action path...
---><action name屬性 ---><form-bean name屬性 --><form-bean type屬性--><action type屬性
 

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