開發工具:Eclipse Struts版本:2.3.24web
最近在學SSH框架,SSH是 struts+spring+hibernate的一個集成框架,是目前比較流行的一種Web應用程序開源框架。集成SSH框架的系統從職責上分爲四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短時間內搭建結構清晰、可複用性好、維護方便的Web應用程序。其中使用Struts做爲系統的總體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring作管理,管理struts和hibernate。具體作法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現爲基本的Java對象,而後編寫基本的DAO(Data Access Objects)接口,並給出Hibernate的DAO實現,採用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最後由Spring作管理,管理struts和hibernate。spring
那麼,如何來搭建一個struts環境呢?一共分爲四步。數據庫
第一步:導入jar包,官網地址:http://struts.apache.org/。導入jia包以下圖:apache
第二步:建立Action,在src下建立一個package,package中再建一個class。這個class要繼承ActionSupport 。ActionSupport類是一個工具類,它已經實現了Action接口。除此以外,它還實現了Validateable接口,提供了數據校驗功能。經過繼承該ActionSupport類,能夠簡化Struts 2的Action開發。繼承ActionSupport 能夠實現默認方法execute(必須有返回值,String數據類型)。架構
package com.action;
import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { @Override public String execute() throws Exception { System.out.println("進來了"); return SUCCESS; } }
這個方法中返回的SUCCESS是一個枚舉值。你也能夠返回其餘的常量。
第三步:action配置,在src文件夾下面建立一個struts.xml,xml文件要引用一個規範xml文件的dtd文件。這個文件在struts2-core-2.3.24.jar包下面的struts-default.xml中的引入copy到你的
struts.xml中。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
導入規範以後,就能夠配置xml文檔了。app
當你配置xml文檔的時候,你可能會出現沒有自動提示的狀況框架
當你配置xml文件的時候,你可能會出現沒有自動提示的狀況,若是你不想純手寫xml文件,你就須要配設置它的自動提示。在window-->Preference-->xml-->xml catalogjsp
這個時候點擊Add,就會出現ide
注意:工具
key是本身copy上去的,是你引入的dtd文件路徑,把路徑copy進來以後,再點File System...
你再把struts2-core-2.3.24.jar解壓,而後選中dtd文件,點擊OK就好了;
我配置的struts.xml文件以下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--extends="struts-default" 須要走攔截器 --> <!-- result type默認值是轉發 --> <package name="mypackage" extends="struts-default"> <action name="login" class="com.action.LoginAction"> <result name="success" type="redirect"> /index.jsp</result> </action> </package> </struts>
第四步:配置struts2的過濾器,在web.xml中配置好過濾器,這就是struts環境搭配的四步。
<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>