Struts2系列:(2)Struts2配置文件

Struts2默认的配置文件为struts.xml,该文件需放在当前工程(Project)的src下,部署时会被放到在WEB-INF/classes目录下。

在一篇文章中,提到一个struts.xml文件,其中的内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <action name="HelloWorld" class="com.rk.struts2.a_basic.HelloWorld">
            <result name="success">
                /Success.jsp
            </result>
        </action>
    </package>
</struts>

接下来,本文将按下图中的(1)(2)(3)(4)顺序来介绍struts的配置文件。

1、struts-default

(1-1)struts-default包是struts内置的,定义了struts2内部的众多拦截器和Result类型。Struts2很多核心的功能都是通过这些内置的拦截器实现,例如文件上传和数据验证等等都是通过拦截器实现的。

(1-2)当包(package)继承struts-default包才能使用struts2提供的这些功能。

(2-1)struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。

(2-2)struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件。

(2-3)包可通过abstract=“true”定义为抽象包,该包不能包含action。

2、package

(1)Struts2 把各种 Action 分门别类地组织成不同的包(package)。

(2)一个典型的 struts.xml 文件可以有一个或多个包(package)。

(3)每个 package 元素都必须有一个 name 属性。

(4)namespace 可选, 如没有给出, 则以 “/” 为默认值. 若 namespace 有一个非默认值, 调用这个包(package)里的Action, 须把这个属性所定义的命名空间添加到有关的 URI 字符串里。

(5)package 元素通常要对 struts-default.xml 文件里定义的 struts-default包进行扩展。这样,包(package)里的所有Action就可使用在 struts-default.xml 文件里定义的result类型和拦截器.

3、action

(1)action 元素嵌套在 package内, 表示一个 Struts请求.

(2)每个 action 必须有一个 name 属性, 该属性和用户请求路径间存在一一对应关系

(3)action 元素的 class 属性是可选的。 如没配置 class 属性, Struts 将把 com.opensymphony.xwork2.ActionSupport 作为默认值。如配置了 class 属性,可以使用method属性配置该类的一个动作方法. method属性的默认值为execute。

4、result

(1)result元素是<action>的一个子元素, 指导struts在完成action后控制权转向。

(2)name属性。result元素name属性对应着Action方法返回值。因method方法在不同情况下可能返回不同的值, 所以同一个action元素可有多个 result元素。

(3)type属性。result元素的type属性负责指定结果类型。type属性的值必须是在包含当前包或者是当前包的父包里注册过的结果类型。type 属性的默认值为dispatcher。

(4)name属性的默认值。result元素的name属性建立<result>和Action方法返回值之间的映射关系。name属性的默认值为 “success”。

时间: 2024-08-28 11:15:26

Struts2系列:(2)Struts2配置文件的相关文章

【Struts2系列】Struts2 国际化资源文件的机制原理

[Struts2国际化资源文件定义的3种范围方法] 1)全局的国际化资源文件,对所有的Action和View都有效 定义方式: 在struts.xml中增加全局资源文件定路径定义:        <constant name="struts.custom.i18n.resources" value="globalMessage"></constant> 对应的资源文件为classpath根目录位置: globalMessage.propert

【SSH框架】之Struts2系列(一)

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系 1.Struts2框架概述 (1).什么是Struts2 Struts2是一种基于MVC模式的轻量级web框架,本质上相当于一个servlet.在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互,以WebWork为核心,采用拦截器机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离,是致力于组件化和代码重用的J2EE Web框架. (2).Struts2

【SSH框架】之Struts2系列(二)

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联 1.Struts2常量配置 (1).Struts2默认常量配置文件路径,如下图: (2).Struts2常量配置方式:以配置国际化字节编码UTF-8为例 方式1:在struts.xml文件中配置 <constant name="struts.i18n.encoding" value="UTF-8"></constant> 方式2:在src下创建

2、Struts2引入多个配置文件

1.关于核心配置文件 struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <

struts2中struts.xml配置文件详解【未整理】

1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个Action.多个拦截器.多个拦截器引用的集合. 在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置.它的常用属性有: l name:必填属性,用来指定包的名字. l extends:可选属性,用来指定该包继承

【Struts2】★☆之struts2的处理流程和对Action的管理方式

[Struts2]★☆之struts2的处理流程和对Action的管理方式 首先我们先来看一张我画的草图,如下: 接下来,是一个web.xml配置文件的常用代码 <filter>         <filter-name>struts2</filter-name>         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</fi

Struts2学习一----------Struts2的工作原理及HelloWorld简单实现

? 版权声明:本文为博主原创文章,转载请注明出处 Struts2工作原理 一个请求在Struts2框架中的处理步骤: 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如SiteMesh Plugin) 3.接着FilterDispatcher被调用,FilterDispatcher询问Action

Struts2 笔记(1) Struts2引入/Action

1.strust2框架来历简介: WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架.(同时也是一个成熟的基于Web的MVC框架) MVC:Model View Controller, model是模型,view是视图,controller是控制器,是一种框架模式. 随着WebWork框架的发展,衍生出了strust2框架,因此strust2框架是WebWork的升级,而不是一个全新的框架,因此稳点性.性能等方面都有很好的保证,而且也同时吸收了st

【Struts2】★☆之struts2对Action提交方法进行验证

[Struts2]★☆之struts2对Action提交方法进行验证 在实际的开发项目中,我们通常采用的是js对我们输入的值进行验证,例如,用户名的长度,密码长度,等等.但是这样做,不好之处就是我们可以通过人为的将开发者的验证js注掉,这样就导致验证失败,对后台安全性是一个很大的威胁,在采用struts2进行开发时,我们可以采用框架内置的校验器,对我们的Action进行校验.本文所讲诉的就是如何使用重写struts2中的ActionSupport里面的validate方法对输入值进行校验. ok

Struts2笔记02——Struts2 概述(转)

Struts2是基于MVC设计模式的一种流行.成熟的Web应用框架. 它不仅仅是Struts1的下一个版本,更是对Structs架构的一个完整重写. 而WebWork则是以Struts框架为基础的一个框架,它的目标是提供一个基于Struts的增强.改进框架,使开发人员更轻松地进行Web开发. 在一段时间后,Webwork框架和Struts社区携手共同创建了著名的Struts2框架. Struts2 框架特性 POJO forms and POJO actions - Struts2已经完成了作为