码迷,mamicode.com
首页 > 其他好文 > 详细

Struts入门(二) 配置文件的讲解

时间:2017-01-16 22:37:42      阅读:397      评论:0      收藏:0      [点我收藏+]

标签:cal   .config   version   ext   重要   技术   pat   使用   localhost   

   

  上一章我们演示了Struts项目的搭建  可以看到里面有几个重要的配置文件  下面我们来说明一下这3个配置文件

  1.web.xml

  2.strtus.xml

  3.struts.properties

1.web.xml

我们所学习的是MVC框架  不管是java还是.net 只要是web应用 就需要配置文件 .net中我们使用web.config来进行相关配置  Java中Servlet的应用则需要web.xml的配置

  通常,所有的mvc框架都需要web应用加载一个核心控制器  对于Struts而言 则需要加载

StrutsPrepareAndExecuteFilter  其他不用管   web应用加载它后  struts2的框架会由它进行加载

web.xml如下  这里添加了struts2的过滤器配置

技术分享
 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文件中的配置了

 

Struts入门(二) 配置文件的讲解

标签:cal   .config   version   ext   重要   技术   pat   使用   localhost   

原文地址:http://www.cnblogs.com/DemoLee/p/6291084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!