struts官網:http://struts.apache.org/ 其中,GA版本爲穩定版本,是直接能夠投入到企業生產中的版本java
下載「Full Distribution」 ,這裏麪包含了struts的全部內容web
解壓以後看到這些內容:apache
打開lib文件夾,這裏是咱們要導入到咱們工程裏面的庫的jar包,app
可是並非Ctrl+A直接所有導入的,由於各個包之間存在依賴關係,因此若是所有導入可能會致使一些問題jsp
做爲通常應用,咱們開始導入一下幾個基本的包:this
commons-fileupload-1.3.jar 文件上傳功能url
commons-io-2.0.1.jar commons-fileupload-1.3.jar 依賴的包
spa
commons-logging-1.1.3.jar 關於日誌處理的文件代理
ognl-3.0.6.jar 支持struts的表達式語言,ognl(Object-GraphNavigation Language)日誌
struts2-core-2.3.15.jar struts的和心包
xwork-core-2.3.15.jar struts的內核是基於xwork的
除以上,還要導入
Javassist.....jar
commons-lang3.....jar
把以上的包拷貝到工程目錄lib目錄下,struts的環境就配製完成了
下面經過一個小例子來完善配置
再導入freemarker-2.3.19.jar
新建一個web project
導入相關包
首先讓程序的的全部請求都交由由struts2的filter來代理
配置web.xml文件
找到struts2中的filter類,將其配置到web.xml中
文件 :web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExcuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
配置struts.xml
1.在src根目錄新建一個struts.xml文件
2.打開下載好的struts壓縮包,在src裏面找到一個示例程序,找到它的struts.xml文件,而後複製他的dtd聲明到本身項目裏面
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
tips:在http://struts.apache.org/dtds/struts-2.3.dtd中能夠看到struts.xml的寫法
文件 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> <package name="struts2" extends="struts-default"> <action name="login" class="com.test.struts2.LoginAction"> <result name="successPage">/result.jsp</result> </action> </package> </struts>
文件 login.jsp
<body> <form action="login"> username: <input type="text" name="username"/> password: <input type="password" name="password"> <input type="submit"> </form>
文件result.jsp
<body> username: ${requestScope.username }<br> password:${requestScope.password } </body>
文件LoginAction.java
package com.test.struts2; public class LoginAction { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute(){ return "successPage"; } }