正在學習Struts2,該類博客做爲筆記整理之用,錯誤的地方望指正,後期還會不斷修改完善.web
Struts2資源:apache
Struts官方地址:http://struts.apache.org/編程
我這裏下載了struts2的最新版本struts2-2.5.10.1-all。全部內容以下圖:app
其中,apps目錄爲struts2實例應用程序jsp
docs目錄爲struts2指南、嚮導以及API文檔ide
lib目錄爲struts2的發行包以及其依賴包,編程全部需的jar包都在這個目錄裏能夠找到學習
src目錄爲struts2項目源代碼ui
咱們能夠根據本身的須要下載this
關於struts和struts2的區別,能夠在docs目錄下的docs文件中,找到home網頁點開,進入Guides指南,能夠查找到各類配置文件示例,在web.xml中能夠看到不一樣版本的web.xml的配置區別url
在xml配置方面的區別:Struts2版本配置沒有ng
使用Struts2開發程序的基本步驟:
一、加載Struts2類庫
二、配置web.xml
三、開發視圖層頁面
四、開發控制層Action類
五、配置Struts2的配置文件(struts.xml)
六、部署、運行項目
一個簡單的Struts2程序開發完整操做:
一、第一步:導包,其中最後一個包資源裏沒有,要本身單獨下載。推薦一個下載包的資源庫:http://mvnrepository.com/
二、第二步:web.xml配置
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class> 4 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 5 </filter-class> 6 </filter> 7 <filter-mapping> 8 <filter-name>struts2</filter-name> 9 <!--匹配全部 --> 10 <url-pattern>/*</url-pattern> 11 </filter-mapping>
三、第三步:開發視圖層頁面
寫個簡單的小例子,用form表單提交信息,再在該頁面顯示出來
<body> <h1> <!--顯示action中返回的message信息 --> ${message } </h1> <hr> <form action="helloWorld.action"> 請輸入您的姓名: <input type="text" name="name"/> <input type="submit" value="提交"/> </form> </body>
四、第四步:寫一個控制層action類,注意類中必需要有無參構造,要爲請求參數提供field,而且要爲之提供setter、getter
package com.jredu.action; /** * 返回數據給前臺視圖 * @author dell * */ public class HelloAction { private String name; private String message; /** * 當struts action處理請求時,在默認狀況下,調用execute方法 * @return */ public String execute(){ //把前臺傳入的名字返回給拼接成完整的信息再返回給前臺 setMessage("你好,"+getName()+"!"); //業務處理完畢後,返回視圖hello return "hello"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
五、第五步:配置Struts2的配置文件struts.xml
a.全部的action都要放在package標籤裏
b.action裏最多見的屬性:
name:請求路徑
class:映射的處理類
method:指定一個處理方法,默認處理方法爲execute
c.須要爲處理方法返回的字符串指定相應的物理視圖
<?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> <!-- 建立一個default包,繼承自Struts2的struts-default包。 --> <!-- namespace爲路徑;/表明絕對路徑,從根目錄開始;沒有/表明相對路徑 --> <package name="default" namespace="/" extends="struts-default"> <!--配置一個HelloAction --> <action name="helloWorld" class="com.jredu.action.HelloAction"> <result name="hello">index.jsp</result> </action> </package> </struts>
6,、第六步:部署項目,運行