Struts2配置文件通配符的使用说明

合集下载

Struts2配置参数

Struts2配置参数

一、Struts2配置文件Struts2相关的配置文件有web.xml,struts.xml,struts.properties,struts-default.xml,velocity.properties,struts-default.vm。

其中web.xml,struts.xml是必须的,其它的配置文件可选择。

它们在web应用中的功能如下:web.xml:包含所有必须的框架组件的web部署描述符。

Struts.xml:配置包含result/view类型、action映射、拦截器等的Struts2的主要配置文件。

Struts.properties:配置struts2的框架属性。

Struts-default.xml:在文件在struts-action-x.x.jar中,该文件是应该被包含在struts.xml中的缺省配置。

Welocity.properties:重写了velocity的配置文件。

Struts-default.vm:相对于velocity的缺省配置。

二、Struts2配置元素Struts2核心的配置文件是缺省的struts.xml。

必要的时候,缺省的配置文件可以包含其它的配置文件;struts文件可以放入jar中,并自动插入应用程序,这样每个模块可以包含自己的配置文件并自动配置。

在Freemarker和V elocity 模块中,模板也能从classpath中加载,所以整个模块可以作为一个简单的jar文件被包含。

Struts.xml配置文件可以包含Interceptor、Action类和Results。

Struts.xml配置元素说明:1、PackagesPackages:packages把actions、results、results types、interceptors和interceptor-stacks组装到一个逻辑单元中,从概念上讲,packages就像一个对象,可以被其它子包从写,而且可以拥有自己独立的部分。

Struts2配置文件详解——s...

Struts2配置文件详解——s...
32.<beantype="org.apache.struts2.dispatcher.mapper.ActionMapper"name="restful2"class="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper"/>
33.
34.<beantype="org.apache.struts2.dispatcher.multipart.MultiPartRequest"name="struts"class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest"scope="default"optional="true"/>
63.
64.<beantype="com.opensymphony.xwork2.TextProvider"name="struts"class="com.opensymphony.xwork2.TextProviderSupport"/>
65.
66.
67.<!-- Struts2中一些可以静态注入的bean,也就是不需要实例化的 -->
11.
12.<beantype="com.opensymphony.xwork2.ActionProxyFactory"name="xwork"class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>

轻松学Java Web开发之Struts 2配置详解

轻松学Java Web开发之Struts 2配置详解

9.1.3 struts-default.xml和 struts.properties文件
struts.properties文件是一个标准的属性文件,该文件 包含了大量的key-value对,每个key就是一个Struts 2 属性,该key对应的value就是Struts 2的一个属性值, 我们可以举一个例子如图9.7所示。
注意:Struts 2提供了两种设置Struts 2属性的方式:通过 struts.properties以key-value方式来设置Struts 2属性,也可 以在struts.xml文件中通过<constant>标签来设置Struts 2的 属性。
9.2 struts.xml文件配置详解
在Struts 2框架的配置文件struts.xml文件中,可以将 配置内容分为三大类,其中的每种元素可以包含不 同的配置内容,如图9.9所示。
Struts 2框架的主要配置文件如表9.1所示。
配置文件 web.xml struts.xml struts.properties struts-default.xml struts-plugin.xml 必选 是 否 否 否 否 位置(相对于webapp) /WEB-INF/ /WEB-INF/classes /WEB-INF/classes /WEB-INF/lib/struts2-core-x.x.x.jar /WEB-INF/lib/struts2-xxx-plugin.jar 说明 Web部署描述文件,包括所有的必需框架 组件 Struts 2主要配置文件 Struts 2框架的属性配置文件 Struts 2框架提供的默认配置 Struts 2框架的插件配置文件
该参数表示自定义的ConfigurationProvider类,用户可以提供一个或多个实现了 ConfigurationProvider接口的类,并将这些类名设置成configProviders属性值。多个类名间 用英文逗号分隔

2struts2中常用的配置文件及result返回类型

2struts2中常用的配置文件及result返回类型

1.web.xml文件主要完成对StrutsPrepareAndExecuteFilter的配置(在以前的版本中是对FilterDispatcher配置,新版本同样支持用FilterDispatcher配置),它的实质是一个过滤器,它负责初始化整个Struts框架并且处理所有的请求。

这个过滤器可以包括一些初始化参数,有的参数指定了要加载哪些额外的xml 配置文件,还有的会影响struts框架的行为。

除了StrutsPrepareAndExecuteFilter外,Struts还提供了一个ActionContexCleanUp类,它的主要任务是当有其它一些过滤器要访问一个初始化好了的struts框架的时候,负责处理一些特殊的清除任务。

2.struts.xml文件框架的核心配置文件就是这个默认的struts.xml文件,在这个默认的配置文件里面我们可以根据需要再包括其它一些配置文件。

在通常的应用开发中,我们可能想为每个不同的模块单独配置一个struts.xml文件,这样也利于管理和维护。

这也是我们要配置的主要文件3.struts.properties(参default.properties)在Struts框架使用了很多属性,我们可以通过改变这些属性来满足我们的需求。

要改变这些属性,只需在struts.properties文件中指定属性的key和value即可。

属性文件可以放在任何一个包含在classpath中的路径上,但是通常我们都把它放在/WEB-INF/classes目录下面。

我们可以在struts-default.properties文件中找到一个属性的列表。

4.struts-default.xml此文件是struts2框架默认加载的配置文件,它定义了struts2一些核心bean和拦截器,它会自动包含(included)到struts.xml文件中(实质是通过<package extends="struts-default">),并为我们提供了一些标准的配置。

Struts2文件配置介绍

Struts2文件配置介绍

Struts2⽂件配置介绍Struts2⽂件配置介绍struts2structs.xml⽂件配置标签package标签<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><!-- 配置post请求以及repsone的编码格式 --><constant name="struts.i18n.encoding"value="UTF-8"></constant><!-- 配置请求路径的扩展名 --><constant name="struts.action.extension"value="action,,"></constant><!-- 开启热部署 --><constant name="struts.devMode"value="true"></constant><package name="index"namespace="/"extends="struts-default"><action name=""class="erAction"method="toLogin"><result name="toLogin">/WEB-INF/view/login.jsp</result></action></package><include file="com/forward/test/web/action/struts.xml"></include></struts>配置web应⽤的不同模块,⼀般在⼀个功能模块下配置⼀个package,在当前的package下配置这个模块的多个action name属性给不同的模块起不同的名字,随便写,不重复即可namespace属性给不同的模块设置访问的根路径,可以配置成/extends属性表⽰继承, struts-default 是struts2给我们提供的⼀个packageaction标签action 标签表⽰配置⼀个请求name 属性表⽰请求路径的后缀,⼀般表⽰功能模块中的具体请求,name的名字就代表访问路径的名称class 属性表⽰当有请求过来的时候调⽤的是哪个类中的⽅法,配置全类名method 表⽰class 请求调⽤的是class 中的哪个⽅法,指的是具体的⽅法名result标签result 结果配置,⽤于设置不同的⽅法返回值,可以配置不同的返回值对应不同的视图name 属性表⽰结果处理名称,与action中的返回值对应type 属性表⽰指定哪个result 类来处理显⽰的页⾯,默认是内部转发,可以在struts-default 的⽂件中进⾏查看标签体表⽰相对路径,相对于web应⽤开始常量配置默认的常量配置在structs核⼼包中修改常量配置⽅式及加载顺序对于常量的配置, 默认加载的是structs核⼼包中的default.properties,如果通过以下3种进⾏配置,就会按照默认–>1–>2–>3 的顺序加载,后⾯设置的常量会覆盖之前设置的常量1. 在structs.xml⽂件中,在structs的根标签下,书写constant 标签进⾏配置,在项⽬中主要使⽤这种⽅式2. 在src下创建structs.properties⽂件,将内容复制到此⽂件进⾏修改3. 在web.xml⽂件中,配置context-param 第⼀种⽅式第⼆种⽅式第三种⽅式常⽤常量设置struts.i18n.encoding=UTF-8 ⽤于配置接收参数和向外输出中⽂的编码格式⼀般设置为UTF-8struts.action.extension=action, 指定访问action的路径的后缀名,使⽤, 表⽰可以有两个后缀名,可以是action也可以是没有后缀名struts.devMode = false 指定structs是否是以开发模式运⾏,能够⽀持修改配置⽂件后进⾏热部署,所以我们可以将其设置为true动态⽅法调⽤如果⼀个业务模块有多个⽅法,我们可以使⽤动态⽅法调⽤省略action的配置,设置动态⽅法调⽤有两种⽅法⽅法⼀开启动态⽅法调⽤<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>配置action的时候不写method在访问的时候输⼊⽹址http://localhost:8080/webapp/namespace/name!method ⽅法⼆ 通配符⽅式关闭动态⽅法调⽤对于⽅法名可以使⽤⼀个* 通配符,在后⾯的class和method可以使⽤{索引} 来读取前⾯的内容访问路径localhost:8080/webapp/namespace/class_methodstructs2中的默认配置<constant name ="struts.enable.DynamicMethodInvocation" value ="true"></constant><package name ="helloWorld" namespace ="/User" extends ="struts-default"><action name ="d_" class ="com.zhiyou100.struts.web.action.demo3.Demo3Action" ><result name ="success">/hello World.jsp </result></action> </package><package name ="demo3" namespace ="/User" extends ="struts-default"><action name ="*_*" class ="com.zhiyou100.struts.web.action.demo3.{1}" method ="{2}"><result name ="success">/helloWorld.jsp </result></action></package>method的默认值executeresult的默认值是successresult的type的默认值是dispatcherclass的默认值是ActionSupport 其中有execute ⽅法返回值是success配置package下的默认的action,当访问当前包下,如果找不到指定action,就会⾃动寻找默认的action <package name="default"namespace="/user"extends="struts-default"><default-action-ref name="demoAction"></default-action-ref><action name="demoAction"class="erAction"><result>/WEB-INF/view/404.jsp</result></action></package>结果跳转的⽅式结果的跳转⽅式可以通过result的type属性进⾏设置转发转发到指定页⾯对于type属性,默认是dispatcher ,就是转发到响应界⾯,可以不⽤进⾏配置转发到指定action对于type属性需要设置为chain ,并在其下⽅配置<param> 标签<result name="error"type="chain"><param name="namespace">/</param><param name="actionName"></param></result>重定向重定向到指定界⾯对于type属性,设置为redirect ,就是重定向到界⾯,如果需要进⾏重定向就必须进⾏此处的设置<result name="error"type="redirectAction"><param name="namespace">/</param><param name="actionName"></param></result>。

struts2注解使用

struts2注解使用

struts2注解使用从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention 插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置。

如何使用Convention1. 将struts-Convention-plugin-2.1.6.jar文件复制到WEB-INF/lib路径下2. 对于Convention插件而言,它会自动搜索位于action,actions,struts,struts2包下的所有java类,Convention插件会把如下两种java类当成Action 处理:1)所有实现了com.opensymphony.xwork2.Action的java类2)所有类名以Action结尾的java类3. Convention插件还允许设置如下三个常量:1)struts.Convention.exclude.packges:指定不扫描哪些包下的java类,位于这些包结构下的java类将不会自动映射成Action;2)struts.convention.package.locators:Convention插件使用该常量指定的包作为搜寻Action的根包。

对于actions.fore.LoginAction类,按约定原本应映射到/fore/login;如果将该常量设为fore,则该Action将会映射到/login 3)struts.convention.action.packages:Convention插件以该常量指定包作为根包来搜索Action类。

Convention插件除了扫描action,actions,struts,struts2四个包的类以外,还会扫描该常量指定的一个或多个包,Convention会试图从中发现Action类。

struts2中struts.xml配置文件详解

struts2中struts.xml配置文件详解

struts2中struts.xml配置⽂件详解struts.xml的常⽤配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "/dtds/struts-2.3.dtd"><struts><!-- 所有匹配*.action的请求都由struts2处理 --><constant name="struts.action.extension" value="action"/><!-- 是否启⽤开发模式 --><constant name="struts.devMode" value="true"/><!-- struts配置⽂件改动后,是否重新加载 --><constant name="struts.configuration.xml.reload" value="true"/><!-- 设置浏览器是否缓存静态内容 --><constant name="struts.serve.static.browserCache" value="false"/><!-- 请求参数的编码⽅式 --><constant name="struts.i18n.encoding" value="utf-8"/><!-- 每次HTTP请求系统都重新加载资源⽂件,有助于开发 --><constant name="struts.i18n.reload" value="true"/><!-- ⽂件上传最⼤值 --><constant name="struts.multipart.maxSize" value="104857600"/><!-- 让struts2⽀持动态⽅法调⽤ --><constant name="struts.enable.DynamicMethodInvocation" value="true"/><!-- Action名称中是否还是⽤斜线 --><constant name="struts.enable.SlashesInActionNames" value="false"/><!-- 允许标签中使⽤表达式语法 --><constant name="struts.tag.altSyntax" value="true"/><!-- 对于WebLogic,Orion,OC4J此属性应该设置成true --><constant name="struts.dispatcher.parametersWorkaround" value="false"/><package name="basePackage" extends="struts-default"></package></struts><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "/dtds/struts-2.0.dtd" ><struts><!-- include节点是struts2中组件化的⽅式可以将每个功能模块独⽴到⼀个xml配置⽂件中然后⽤include节点引⽤ --><include file="struts-default.xml"></include><!-- package提供了将多个Action组织为⼀个模块的⽅式package的名字必须是唯⼀的 package可以扩展当⼀个package扩展⾃另⼀个package时该package会在本⾝配置的基础上加⼊扩展的package的配置⽗package必须在⼦package前配置name:package名称extends:继承的⽗package名称abstract:设置package的属性为抽象的抽象的package不能定义action 值true:falsenamespace:定义package命名空间该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action --><package name="com.kay.struts2" extends="struts-default" namespace="/test"><interceptors><!-- 定义拦截器name:拦截器名称class:拦截器类路径--><interceptor name="timer" class="com.kay.timer"></interceptor><interceptor name="logger" class="com.kay.logger"></interceptor><!-- 定义拦截器栈 --><interceptor-stack name="mystack"><interceptor-ref name="timer"></interceptor-ref><interceptor-ref name="logger"></interceptor-ref></interceptor-stack></interceptors><!-- 定义默认的拦截器每个Action都会⾃动引⽤如果Action中引⽤了其它的拦截器默认的拦截器将⽆效 --><default-interceptor-ref name="mystack"></default-interceptor-ref><!-- 全局results配置 --><global-results><result name="input">/error.jsp</result></global-results><!-- Action配置⼀个Action可以被多次映射(只要action配置中的name不同)name:action名称class: 对应的类的路径method: 调⽤Action中的⽅法名--><action name="hello" class="com.kay.struts2.Action.LoginAction"><!-- 引⽤拦截器name:拦截器名称或拦截器栈名称--><interceptor-ref name="timer"></interceptor-ref><!-- 节点配置name : result名称和Action中返回的值相同type : result类型不写则选⽤superpackage的type struts-default.xml中的默认为dispatcher--><result name="success" type="dispatcher">/talk.jsp</result><!-- 参数设置name:对应Action中的get/set⽅法--><param name="url"></param></action></package></struts>⼀个Action内包含多个请求处理⽅法的处理Struts1提供了DispatchAction,从⽽允许⼀个Action内包含多个请求处理⽅法。

【VIP专享】Struts2的配置文件的详细说明

【VIP专享】Struts2的配置文件的详细说明
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "/dtds/struts-2.0.dtd"> <struts> <!-- struts2 的 action 必须放在一个指定的包空间下定义 --> <package name="default" extends="struts-default"> <!-- 定义处理请求 URL 为 login.action 的 Action --> <action name="login" class="org.qiujy.web.struts.action.LoginAction"> <!-- 定义处理结果字符串和资源之间的映射关系 -->
本部分主要介绍 struts.xml 的常用配置。
1.1. 包配置:
Struts2 框架中核心组件就是 Action、拦截器等,Struts2 框架使用包来管理 Action 和拦截器等。每 个包就是多个 Action、多个拦截器、多个拦截器引用的集合。
在 struts.xml 文件中 package 元素用于定义包配置,每个 package 元素定义了一个包配置。它的常 用属性有: l name:必填属性,用来指定包的名字。 l extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中的 Action 定义来指定该包的命名空间。 <!DOCTYPE struts PUBLIC
1.2. 命名空间配置:
6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓教的学实难验点,线培形养动观物察和能环力节和动实物验的能主力要;特2征.通。过教对学观方察法到与的教现学象手分段析观与察讨法论、,实对验线法形、动分物组和讨环论节法动教特学征准的备概多括媒,体继课续件培、养活分蚯析蚓、、归硬纳纸、板综、合平的面思玻维璃能、力镊。子情、感烧态杯度、价水值教观1和.通过学理解的蛔1虫.过观适1、察于程3观阅 六蛔寄.内列察读 、虫生出蚯材 让标容生3根常蚓料 学本教活.了 据见身: 生,师的2、解 问的体巩鸟 总看活形作 用蛔 题线的固类 结雌动态业 手虫 自形练与 本雄学、三: 摸对 学动状习人 节蛔生结4、、收 一人 后物和同类 课虫活构请一蚯集 摸体 回并颜步关 重的动、学、蚓鸟 蚯的 答归色学系 点形教生生让在类 蚓危 问纳。习从 并状学理列学平的害 题线蚯四线人 归、意特出四生面体以形蚓、形类 纳大图点常、五观玻存 表及动的鸟请动文 本小引以见引、察璃现 ,预物身类 3学物明 节有言及的、导巩蚯上状 是防的体之生和历 课什根蚯环怎学固蚓和, 干感主是所列环史 学么据蚓节二样生练引牛鸟 燥染要否以举节揭 到不上适动、区回习导皮类 还的特分分蚯动晓 的同节于物让分答。学纸减 是方征节布蚓物起 一,课穴并学蚯课生上少 湿法。?广的教, 些体所居归在生蚓前回运的 润;4泛益学鸟色生纳.靠物完的问答动原 的4蛔,处目类 习和活环.近在成前题蚯的因 ?了虫以。标就 生体的节身其实端并蚓快及 触解寄上知同 物表内特动体结验和总利的慢我 摸蚯生适识人 学有容点物前构并后结用生一国 蚯蚓在于与类 的什,的端中思端线问活样的 蚓人飞技有 基么引进主的的考?形题环吗十 体生行能着 本特出要几变以动,境?大 节活的1密 方征本“特节化下物.让并为珍 近习会形理切 法。课生征有以问的小学引什稀 腹性态解的 。2课物。什游题主.结生出么鸟 面和起结蛔关观题体么戏:要利明蚯?类 处适哪构虫系察:的特的特用确蚓等 ,于些特适。蛔章形殊形征板,这资 是穴疾点于可虫我态结式。书生种料 光居病是寄的们结构,五小物典, 滑生?重生鸟内学构,学、结的型以 还活5要生类部习与.其习巩鸟结的爱 是如原活生结了功颜消固类构线鸟 粗形何因的存构腔能色化练适特形护 糙态预之结的,肠相是系习于点动鸟 ?、防一构现你动适否统。飞都物为结蛔。和状认物应与的行是。主构虫课生却为和”其结的与题、病本理不蛔扁的他构特环以生?8特乐虫形观部特8征境小理三页点观的动位点梳相组等、这;,哪物教相,理适为方引些2鸟,育同师.知应单面导鸟掌类结了;?生识的位学你握日构解2互.。办特生认线益特了通动手征观识形减点它过,抄;察吗动少是们理生报5蛔?物,与的解.参一了虫它和有寄主蛔与份解结们环些生要虫其。蚯构都节已生特对中爱蚓。会动经活征人培鸟与飞物灭相。类养护人吗的绝适这造兴鸟类?主或应节成趣的为要濒的课情关什特临?就危感系么征灭来害教;?;绝学,育,习使。我比学们它生可们理以更解做高养些等成什的良么两好。类卫动生物习。惯根的据重学要生意回义答;的3.情通况过,了给解出蚯课蚓课与题人。类回的答关:系线,形进动行物生和命环科节学动价环值节观动的物教一育、。根教据学蛔重虫点病1.引蛔出虫蛔适虫于这寄种生典生型活的线结形构动和物生。理二特、点设;置2.问蚯题蚓让的学生生活思习考性预和习适。于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Struts2配置文件中使用通配符收藏
形式一:调用相同Action中的不同方法
<action name="*Action" class="Jcuckoo.LoginRegistAction" method="{1}">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
其中表达式{1}的值name属性值中第一个*的值。

如果用户请求的URL为loginAction.action,则调用Jcuckoo.LoginRegistAction中的login方法;
如果用户请求的URL为registerAction.action,则调用Jcuckoo.LoginRegistAction中的register方法;形式二:通过匹配,调用不同的Action的execute方法
<action name="*Action" class="Jcuckoo.{1}Action">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
上面没有出现method属性,故默认调用对应的execute方法
如果用户请求的URL为LoginAction.action,则调用Jcuckoo.LoginAction中的execute方法;
如果用户请求的URL为RegisterAction.action,则调用Jcuckoo.RegisterAction中的execute方法;
形式三:动态结果
<action name="crud_*" class="Jcuckoo.CrudAction" method="{1}">
<result name="input">/input.jsp</result>
<result>/{1}.jsp</result>
</action>
当处理结果是input时,会转到/input.jsp页面
当处理结果是success时,
如果crud_create.action,则会执行Jcuckoo.CrudAction中的create方法,并且跳转到/create.jsp;
如果crud_delete.action,则会执行Jcuckoo.CrudAction中的delete方法,并且跳转到/delete.jsp;。

相关文档
最新文档