Struts入門(二) 配置文件的講解

   

  上一章咱們演示了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>
View Code

 

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>
View Code

 

 3.struts.properties

這裏就列舉幾個經常使用的屬性 

 

 

這就是三個文件的配置以及說明

其中第三個文件徹底能夠寫到struts.xml中去

在package標籤外面

<!--  能夠在包外面定義常亮  和struts.properties 寫法一致-->
  <constant name="struts.i18n.reload" value="true"></constant>
</struts>

這樣就能夠省去 properties文件中的配置了

相關文章
相關標籤/搜索