歡迎瀏覽Java工程師SSH教程從零打造在線網盤系統系列教程,本系列教程將會使用SSH(Struts2+Spring+Hibernate)打造一個在線網盤系統,本系列教程是從零開始,因此會詳細以及着重地闡述SSH三個框架的基礎知識,第四部分將會進入項目實戰,若是您已經對SSH框架有所掌握,那麼能夠直接瀏覽第四章,源碼均提供在GitHub/ssh-network-hard-disk上供你們參閱html
Struts2是一個基於MVC設計模式的Web應用框架,它本質上至關於一個servlet,在MVC設計模式中,Strus2做爲控制器(Controller)來創建模型與視圖的數據交互。Struts2使用了大量的攔截器來處理用戶請求,從而將業務邏輯控制器和ServletAPI分離git
包含execute方法的POJO既能夠做爲控制器,即一個簡單的JAVA類包含一個execute()方法就能夠做爲控制器,同時控制器具備封裝客戶端請求參數的能力.github
public class TestAction { public String execute() throws Exception { return "test"; } }
XML配置完整工程示例源碼下載
導入struts依賴jarweb
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.18</version> </dependency>
web.xml配置Struts2攔截器apache
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
編寫struts.xml設計模式
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" extends="struts-default"> <action name="hello" class="com.jimisun.action.TestAction"> <result name="hello">/WEB-INF/jsp/hello.jsp</result> </action> </package> </struts>
編寫控制器瀏覽器
public class TestAction { public String execute() throws Exception { return "hello"; } }
配置好以上步驟便可訪問路徑http://localhost:8080/hello.actionapp
註解配置Struts2完整示例源碼下載
若是須要使用註解開發,則須要增長struts2-convention-plugin的Jar框架
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-convention-plugin --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>2.5.18</version> </dependency>
那麼在你的Action中就能夠這樣編寫Action,不須要再到struts.xml中進行配置ssh
@ParentPackage("struts-default") @Namespace("/test") public class TestAction { @Action(value = "hello", results = { @Result(name = "hello", location = "/WEB-INF/jsp/hello.jsp") }) public String hello() throws Exception { return "hello"; } }
在進行Struts2開發的時候隨着項目的增大,你所須要處理的路徑和方法映射越多,有時候會讓你手忙腳亂,而struts2-config-browser-plugin插件很好的幫你解決了這個問題,只須要Jar包依賴便可
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-config-browser-plugin --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-config-browser-plugin</artifactId> <version>2.5.18</version> </dependency>
Struts2的起始配置比較簡單,可是Struts2其餘相關配置就比較繁瑣了,不可掉以輕心