前面我們學習瞭如何快速搭建SSH框架,那麼我們現在就有必要來分別學習瞭解一下SSH框架中每一部分的相關知識。
1、Struts2框架介紹
Struts2框架是MVC流程框架,適合分層開發。框架應用實現不依賴於Servlet,使用大量的攔截器來處理用戶請求,屬於無侵入式的設計,提供了強大了攔截器和類型轉換以及支持多種視圖層框架比如JSP等等,以及用戶輸入對特定的方法進行校驗。還有很多其他的特點在後面我會具體給大家介紹到。
2、Struts2框架的流程原理
Struts2的特點介紹後我們就需要了解一下他的工作原理才能應用在實際的應用中。
1)請求先到達Filter過濾器,
2)過濾器根據struts配置文件mapper到對應的action
3)然後爲Action創建代理類
4)將各個服務存放在攔截器中,執行完攔截器後再去執行action類行action類,action類調用service,再調用dao(三層結構控制)。
5)得到結果字符串,創建result對象
6)轉向相應的視圖。
3、Struts2框架準備
要想使用Struts2框架我們需要準備jar包以及配置文件:
第一步:首先就是框架所需要的jar以及一些jar包的介紹(各位童鞋視自己的版本而定,不一定非得是下面所列版本)
commons-fileupload-1.2.1.jar ----->文件上傳
commons-io-1.3.2.jar ----->文件上傳
freemarker-2.3..15.jar ----->試圖展現技術
ognl-2.7.3.jar ----->對象圖形導航語言,用於數據庫操作
struts2-core-2.1.8.1.jar ----->框架核心包
xwork-core-2.1.6.jar ----->WebWork框架核心包
第二步:兩個配置文件
struts.xml 配置文件在根目錄src下面,配置文件內容如下:
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="test" namespace="/test" extends="struts-default">
- <action name="HelloWorld" class="com.test.HelloWorldAction">
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
代碼說明:訪問/test/HelloWorld.action對應執行com.test包下面的HelloWorldAction類;默認情況下執行類中的execute方法,如果想指定方法,需要在<action>標籤中添加method屬性;<result>標籤配置結果跳轉路徑。根據Action類中方法返回的String字符串,去匹配result標籤中的name值,進行跳轉。
在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>/*</url-pattern>
- </filter-mapping>