上一章咱們演示了Struts項目的搭建 能夠看到裏面有幾個重要的配置文件 下面咱們來講明一下這3個配置文件html
1.web.xmljava
2.strtus.xmlweb
3.struts.propertiesapache
1.web.xmlmvc
咱們所學習的是MVC框架 無論是java仍是.net 只要是web應用 就須要配置文件 .net中咱們使用web.config來進行相關配置 Java中Servlet的應用則須要web.xml的配置app
一般,全部的mvc框架都須要web應用加載一個核心控制器 對於Struts而言 則須要加載框架
StrutsPrepareAndExecuteFilter 其餘不用管 web應用加載它後 struts2的框架會由它進行加載jsp
web.xml以下 這裏添加了struts2的過濾器配置ide
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 3 <display-name>StrutsDemo</display-name> 4 5 <filter> 6 <filter-name>struts</filter-name> 7 8 <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 9 </filter> 10 11 <filter-mapping> 12 <filter-name>struts</filter-name> 13 <url-pattern>/*</url-pattern> 14 </filter-mapping> 15 16 <welcome-file-list> 17 <welcome-file>index.html</welcome-file> 18 <welcome-file>index.htm</welcome-file> 19 <welcome-file>index.jsp</welcome-file> 20 <welcome-file>default.html</welcome-file> 21 <welcome-file>default.htm</welcome-file> 22 <welcome-file>default.jsp</welcome-file> 23 </welcome-file-list> 24 </web-app>
2.struts.xml組件化
struts.xml中包含的內容:
1.全局屬性
2.用戶請求和相應Action之間的對應關係
3.Action可能用到的參數和返回結果
4.各類攔截器的配置
1 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > 2 <struts> 3 4 <!-- include節點是struts2中組件化的方式 能夠將每一個功能模塊獨立到一個xml配置文件中 而後用include節點引用 --> 5 <include file="struts-default.xml"></include> 6 7 8 <!-- package提供了將多個Action組織爲一個模塊的方式 9 package的名字必須是惟一的 package能夠擴展 當一個package擴展自 10 另外一個package時該package會在自己配置的基礎上加入擴展的package 11 的配置 父package必須在子package前配置 12 name:package名稱 13 extends:繼承的父package名稱 14 abstract:設置package的屬性爲抽象的 抽象的package不能定義action 值true:false 15 namespace:定義package命名空間 該命名空間影響到url的地址,例如此命名空間爲/test那麼訪問是的地址爲http://localhost:8080/struts2/test/XX.action 16 --> 17 <package name="com.kay.struts2" extends="struts-default" namespace="/test"> 18 <interceptors> 19 <!-- 定義攔截器 20 name:攔截器名稱 21 class:攔截器類路徑 22 --> 23 <interceptor name="timer" class="com.kay.timer"></interceptor> 24 <interceptor name="logger" class="com.kay.logger"></interceptor> 25 <!-- 定義攔截器棧 --> 26 <interceptor-stack name="mystack"> 27 <interceptor-ref name="timer"></interceptor-ref> 28 <interceptor-ref name="logger"></interceptor-ref> 29 </interceptor-stack> 30 </interceptors> 31 32 <!-- 定義默認的攔截器 每一個Action都會自動引用 33 若是Action中引用了其它的攔截器 默認的攔截器將無效 --> 34 <default-interceptor-ref name="mystack"></default-interceptor-ref> 35 36 37 <!-- 全局results配置 --> 38 <global-results> 39 <result name="input">/error.jsp</result> 40 </global-results> 41 42 <!-- Action配置 一個Action能夠被屢次映射(只要action配置中的name不一樣) 43 name:action名稱 http://localhost:8080/ProjectName/hello.action 44 class: 對應的類的路徑 45 method: 調用Action中的方法名 46 --> 47 <action name="hello" class="com.kay.struts2.Action.LoginAction"> 48 <!-- 引用攔截器 49 name:攔截器名稱或攔截器棧名稱 50 --> 51 <interceptor-ref name="timer"></interceptor-ref> 52 53 <!-- 節點配置 54 name : result名稱 和Action中返回的值相同 55 type : result類型 不寫則選用superpackage的type struts-default.xml中的默認爲dispatcher 56 --> 57 <result name="success" type="dispatcher">/talk.jsp</result> 58 <!-- 參數設置 59 name:對應Action中的get/set方法 60 --> 61 <param name="url">http://www.sina.com</param> 62 </action> 63 </package> 64 <!-- 能夠在包外面定義常亮 和struts.properties 寫法一致--> 65 <constant name="struts.i18n.reload" value="true"></constant> 66 </struts>
3.struts.properties
這裏就列舉幾個經常使用的屬性
這就是三個文件的配置以及說明
其中第三個文件徹底能夠寫到struts.xml中去
在package標籤外面
<!-- 能夠在包外面定義常亮 和struts.properties 寫法一致--> <constant name="struts.i18n.reload" value="true"></constant> </struts>
這樣就能夠省去 properties文件中的配置了