Struts1第一天

來源:互聯網
上載者:User

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   ----Data Access Objects

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屬性
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.