struts2的配置文件
配置文件組成
1.web.xml
2.struts.xml
web.xml
1.web.xml作用:是struts2框架的入口,當瀏覽器發出請求到服務器後,首先發給web.xml,調用核心控制器,來執行一系列操作, 然後通過調用ConfigurationManager來執行struts.xml的配置文件。web.xml的目的就是執行核心控制器,核心控制器相當於一個類(攔截器)
2. web.xml的實例:
<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>
filter-name:給這個核心控制器定義一個名字(隨便定)。
filter-class:定義核心控制器的限定名(位置),通過這裏來調用核心控制器
filter-name:和上一個一樣,名字也需要一樣
url-pattern:匹配請求,上面的/*是匹配所有請求。如果這裏是/*.action,那麼form action='*.action'必須也要以。action結尾。
struts.xml
1.struts.xml的作用:來確定瀏覽器發來的請求的類型,然後通過struts.xml來查找出這個請求對應的action類,並對action的執行結果進行處理。
2.struts.xml的實例:
<!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 name自定義 -->
<package name="hello" extends="struts-default">
<!-- name是請求名稱,不要寫/;class對應action完全限定名=包名+類名 -->
<action name="hello" class="com.demo.HelloAction">
<!-- result是結果集 name和對應action中的方法的返回值匹配,默認是success -->
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
前三行可以用用戶文檔直接複製,它來引用一個dtd文件(xml語法檢查器)
<package>標籤:爲了實現模塊化。
name:自定義,不能重複
namespace:命名空間,和url請求路徑相關,即與瀏覽器上輸入的地址有關。/表示根目錄,而且也會影響下面的result對應的路徑,如果下面的路徑爲相對路徑,則它是相對於namespace的路徑的,所以下面的url一般爲絕對路徑。
extends:繼承。繼承struts-default後,才能使用struts2框架的功能。
<action>標籤:用來定義java類的相關信息。
name:請求名稱,不用寫.action,直接寫前面的名字。
class:處理類的完全限定名稱若不配則執行默認類(ActionSupport類)。即該請求執行的下一個action類
methon:該action下所執行對應的方法。它的值是該action類下所對應的方法。默認爲execute()方法。
<result>標籤:用來處理action·類的結果
name:結果集名稱,用來與action類的method所指的方法的返回值所對應。若匹配成功則到後面的文件。
type:執行後面的文件的方式/或類型
dispatcher:轉發(默認)
redirect:重定向
redirectAction:重定向到指定action。