struts2是在webwork2的基礎上發展而來的,和struts1一樣,struts2也是屬於mvc框架,但是struts2不是struts1的公升級版,儘管在名字上面很讓人這麼覺得;
struts2中的action是執行緒安全的,struts1的執行緒是執行緒不安全的;
strust2的優點:
1,無侵入式:struts2不和struts1一樣,struts2不依賴於servletapi;
2,struts2的***,利用***可以進行aop程式設計,如許可權的控制
3,struts2提供了型別轉換器
4,支援多種表現層技術:jsp,freemarker,velocity等
5,struts2的校驗功能可以對指定的方法校驗
6,提供了全域性範圍,包範圍和action訪問的國際化資源檔案管理實現
1,拷貝相應的jar包
struts2-core-2.x.x.jar: struts2框架的核心類庫
xwork-2.x.x.jar:xwork類庫,struts2在其上構建
ognl-2.x.x.jar:物件導航語言,struts2通過其讀寫物件的屬性
freemarker-2.x.x.jar:struts2的ui標籤模板使用freemarker編寫
commons-logging-1.x.x.jar:asf出品的日誌包,struts 2框架使用這個日誌包來支援log4j和jdk 1.4+的日誌記錄。
commons-fileupload-1.2.1.jar 檔案上傳元件,2.1.6版本後必須加入此檔案
commons-io-1.x.x.jar 用於檔案上傳是的乙個工具類的實現
2,在類資料夾下建立struts.xml配置檔案
<?
xml
version="1.0"
encoding="utf-8"
?>
doctype
struts
public
"-//apachesoftware foundation//dtd struts configuration 2.0//en"
"">
<
struts
>
這裡要注意的是
namespace
裡面要以/開頭
-->
<
package
name="… "
namespace="/… "
extends="struts-default"
>
<
action
name="…"
class="… "
method="…"
>
<
result
name="… "
>….
result
>
action
>
package
>
配置多個配置檔案
-->
struts
>
3,在web.xml中配置
<
filter
>
<
filter-name
>struts
filter-name
>
<
filter-class
>org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter
filter-class
>
filter
>
<
>
<
filter-name
>struts
filter-name
>
<
url-pattern
>*.action
url-pattern
>
<
dispatcher
>request
dispatcher
>
<
dispatcher
>forward
dispatcher
>
>
注意,在struts2中是配置過濾器,但是在struts1中是使用的servlet的配置
假如說url位址為:http://localehost:8080//工程名/path1/path2/path3/test.action 那麼
1,首先去找namespace=」/path1/path2/path3」的package下的action
2,如果在上一步找不到,那麼再去找namespace=」/path1/path2」的package下面的action
3,如果上一步還是沒有找到,那麼就去找namespace=」/path1」的package下面的action
4,如果上一步還是沒有找到,那麼就會去預設的package下找,也就是沒有寫namespace屬性的或者寫了namespace=」/」的
5,再找不到,就會在頁面提示找不到action
/web-inf/page/hello.jsp
1>如果沒有為action指定class,預設是actionsupport。
2>如果沒有為action指定method,預設執行action中的execute() 方法。
3>如果沒有指定result的name屬性,預設值為success。
為action中的屬性注入值:
在有的時候,我們要為action裡面的值注入屬性,可以便於以後的修改,比如說配置路徑:
<
action
name="test2"
class="hwt.action.demo2action"
method="testtype"
>
/web-inf/upload
<
result
name="source"
type="plaintext"
>
<
param
name="location"
>/show.jsp
param
>
<
param
name="charset"
>utf-8
param
>
result
>
action
>
·dispatcher(預設):**到頁面
·redirect :重定向到頁面,與dispatcher相對應
·chain:**到另乙個action,帶上引數
·redirectaction:重定向到另乙個action,不帶引數
·plaintext:顯示原始檔案內容,例如:當我們需要原樣顯示jsp檔案源**的時候,我們可以使用此型別
/***.jsp
utf-8
Struts2基礎知識整理
struts2是基於mvc設計模式的web框架,這個框架的的核心就是j2ee的過濾器filter,通過filter把所有請求轉交給struts2來處理 要使用struts首先我們先要匯入jar包,同樣的,我把完整的struts分享給大家 再匯入jar包,之後,我們先要配置乙個filter,因為str...
Struts2 學習基礎
struts2主要是將web應用所有的頁面請求統一管理,有自己實現的 相當於 filter mvc的乙個整潔實現。以上為這個demo的大致目錄 對於web的外部包,放在webcontent web inf lib目錄下即可,會自動同步載入到libraries目錄中 這裡用的是struts2.5.14...
有關struts2的知識
struts2 框架有兩個核心的配置檔案,其中 struts.xml 檔案主要負責管理應用中 action 的對映,以及 action 包含的result 第一等。除此之外,struts2 框架還包含乙個 struts.properties 檔案,該檔案定義了 struts2 框架的大量屬性 也被稱...