1. 程式人生 > >Struct入門(一)——Struts2-MVC模式入門

Struct入門(一)——Struts2-MVC模式入門

【前言】

   最近在敲ssh商城的時候留意到Struts的框架,在實踐中慢慢了解這種框架其實就是mvc模式的一種體現形式。通過Struts將jsp頁面和action的層分離,調節action的資料和jsp頁面顯示資料的關係,使得資料不依賴頁面展示,可以傳送給多個頁面資料!

【內容】

  【基礎篇】

  1.MVC模式   MVC模式一種架構的體現,不引入新的功能,只是令應用的模型和檢視分離,從而達到更好的開發和維護效率。在MVC模式中,應用程式被劃分為了Model,View,Controller三個部分。其中model部分包含了應用程式的業務邏輯和業務資料;檢視部分封裝了應用程式的輸出介面;控制器部分負責協調模型和檢視,根據使用者的請求來選擇要呼叫哪一個模型來處理業務,以及最終由那個檢視為使用者做出應答。
  2.Struts2的MVC的結構圖(其實在理解在Struts的作用,相當於 controller層,但是Struts需要再web.xml中整合導向專案中)      3.Strcts2的時序圖(在理解Struts的時候剛鵬力薦的時序圖,在後面的專案中我將按照這樣一條線去簡單實踐)   

 【實踐篇】

HelloWorld簡單的例子,顯示歡迎介面。 首先展示我建立成功的demo的介面結構圖:    
  1.建立一個名為一個“helloworld”的webproject的專案
  2.建立一個Struts容器,右擊專案選擇myescplise=》Add Struts Capabilities,如下圖:
        然後在出現的頁面選擇Struts2.1,命名filter-map的名字以及選擇過濾URL的模型(我以為就是字尾名的意思)      3.在web.xml中設定過濾器類,並且整合struct2,這裡的filter-mapping的名字和上面的一致,當然在建立了Struts的容器後自動會在web.xml中整合,不用我們手動設定(當然我這裡是以簡單的過濾為例!)
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>*.action</url-pattern>
  </filter-mapping> 
     3.編寫模組業務層,即mvc中模組,建立一個user.action的包,並且建立一個UserAction的類,在其中編寫簡單的程式碼:
package user.action;

public class UserAction {
	public String execute() {
		return "Success";
	}
}
4.配置Struts.xml檔案
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
   <package name="helloworld" extends="struts-default" namespace="/">
     <action name="index" class="user.action.UserAction">
       <result name="Success">/index.jsp</result>
     </action>
   </package>
</struts>  
其中package包的名字是可以隨便起的,對程式沒有什麼影響; extends繼承Struts-default,擴充套件了struts-default 包元件和攔截器,這是在struts-default.xml中檔案中宣告的,位於struts2-core.jar 檔案的根目錄; action的name表示的是URL地址中輸入的action的的名字,起名注意簡潔明瞭;其中class中寫明是類的路徑。 result中name的名字和我們類中return的字串的名字要一致,result主要就是返回的結果,這裡返回的結果是展示index檢視。   4.編寫jsp頁面,即mvc中檢視(本專案中已經有,所以忽略這一步!)   5.然後在位址列中輸入http://localhost:8080/helloworld/index.action.其中helloworld為專案的名稱。   【總結】     目前的基礎瞭解的Struts的基本流程,其實Struts還有很多的東西值得去深層的研究,在以後的擴充套件中去學習!希望對大家有幫助!