初識Struts2

初識Struts2

基礎瞭解:
       框架的概念:
            框架(framework)是整個或部分系統的可重用設計概念上的結構,用於解決或處理複雜的問題。
使用框架的好處:
    可重用代碼、
    可重用設計、
    分佈式組件管理,便於組件的複用與分離、
    結構統一
    下降開發成本
 
JavaEE中的框架:
    Struts:java領域最著名的框架,是MVC設計的事實標準。
    Spring:JavaEE應用程序的集成框架,任何java程序都能從中受益。
    Hibernate:最著名的ORM框架,實現數據層操做。
 
 
Struts2框架的介紹
        Struts2是Struts1的下一代產品,是再Struts和webwork的技術基礎上進行了合併的全新MVC框架。
由於Struts2框架基本以WebWork爲技術核心,能夠說Struts2至關於WebWork2.0。
 
Struts2相對於Struts1的優點:(八個知識點重點學習)
      (1)與JSP/Servlet低耦合
      (2)業務模型不須要考慮線程安全
      (3)業務模型爲POJO類
      (4)表單模型的簡化
      (5)豐富的視圖技術支持
      (6)AOP和攔截器的使用
      (7)完善的數據類型轉換
      (8)OGNL表達式的支持
 
 
Struts框架是Apache致力於推高JavaEE技術標準的產物,MVC框架的公認標準。
傳統的Model2設計的缺陷:核心控制器在新增業務模型時須要同步修改Servlet業務模型,與ServletAPI耦合性高。

架構Struts2框架的步驟
(1)導入框架所需的jar包
(2)配置web.xml的核心控制器
<!-- 配置Struts核心控制器 -->
<filter>
      <filter-name>struts</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
  <!-- 配置映射 -->
<filter-mapping>
      <filter-name>struts</filter-name>
      <url-pattern>*.action</url-pattern>
</filter-mapping>

(3)建立模型java

public class LoginAction extends ActionSupport {
    @Override
    public String execute() throws Exception {
         return SUCCESS;
    }
}

(4)配置Struts.xmlweb

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "struts-2.1.7.dtd" >
<struts>
   <package name="niit" extends="struts-default">
        <action name="login" class="com.niit.action.LoginAction">
           <result name="input">WEB-INF/error.jsp</result>
           <result name="success">login.jsp</result>
           <result name="login">tag.jsp</result>
    </action>
   </package>
</struts>
搭建注意點:
    Struts2以過濾器做爲請求的攔截手段
    核心控制器爲StrutsPreparenAndexecuteFilter
    Struts.xml須要配置在classpath路徑下
    Struts.xml中的package必須配置extends屬性,且值爲struts-default

 

 

 

Struts2執行流程:
簡單描述:
           客戶端發送一個請求,請求通過核心控制器(filter) ,核心控制器會根據請求的URL找到在配置文件中對應的Action,執行action前會執行相關攔截器操做,而後找到對應的返回視圖,將處理獲得的數據一併返回給客戶端。
相關文章
相關標籤/搜索