Struts2框架核心配置文件的研究与应用

合集下载

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属性值。多个类名间 用英文逗号分隔

Struts2框架

Struts2框架

Struts2框架概述1. JavaEE中有三层结构,struts2框架应⽤在JavaEE三层结构中的Web层的框架。

2. struts2框架是在struts1和webwork基础之上发展的⼀个全新的框架。

(完全脱胎换⾻)3. struts2可以解决问题:需要的jar包依赖<!-- Struts2的核⼼包 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.16</version></dependency>创建action我们之前的Servlet,Servlet本⾝就是⼀个类,⽽action本⾝也是⼀个类,所以我们现在就可以创建⼀个action。

配置Action路径的访问路径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><constant name="struts.i18n.encoding" value="UTF-8"></constant><package name="hello_demo" extends="struts-default" namespace="/"><!-- name:最终访问的名称 --><action name="hello" class="org.atwyl.action.HelloAction" method="execute"><!-- 配置⽅法的返回值,到不同的页⾯中去 --></action></package><!-- 包含了四个配置⽂件,不指定路径,默认在src路径下时的⽅式 --><!-- <include file="struts-order.xml" /><include file="struts-book.xml" /><include file="struts-user.xml" /><include file="struts-cart.xml" /> --><!-- 配置⽂件在具体包中的⽅式 --><!-- <include file="cn/atwyl/action/struts-right.xml" /> --><!-- <package name="demo" extends="struts-default" namespace="/"><action name="saveUserAction" class="erAction" method="save"></action><action name="saveUserAction" class="erAction" method="update"></action><action name="saveUserAction" class="erAction" method="delete"></action><action name="saveUserAction" class="erAction" method="find"></action></package> --></struts>web.xml<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4" xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"><display-name>Struts Blank</display-name><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.html</welcome-file></welcome-file-list><!-- Restricts access to pure JSP files - access available only via Struts action --><security-constraint><display-name>No direct JSP access</display-name><web-resource-collection><web-resource-name>No-JSP</web-resource-name><url-pattern>*.jsp</url-pattern></web-resource-collection><auth-constraint><role-name>no-users</role-name></auth-constraint></security-constraint><security-role><description>Don't assign users to this role</description><role-name>no-users</role-name></security-role></web-app>Struts2执⾏的基本过程当我们从地址栏输⼊⼀个地址,点击回车,他相当于发送了⼀个请求给服务器,发送请求之后,它⾸先会到过滤器中,,其实我们的这个过程当我们从地址栏输⼊⼀个地址,点击回车,他相当于发送了⼀个请求给服务器,发送请求之后,它⾸先会到过滤器中帮我们决定的。

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内包含多个请求处理⽅法。

第2章Struts2核心组件详解

第2章Struts2核心组件详解
18
包含配置在struts.xml中的配置格式如下: <include file="文件名"/> flie:指定文件名,必选项。 包含配置避免开发复杂项目时配置struts.xml过于庞大,导致读取配置文件速度较慢,同时有 利于模块化开发。
19
【例2-2】实例struts2-portlet.war的配置文件 (struts.xml) <?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 file="struts-view.xml"/> <include file="struts-edit.xml"/> <include file="struts-help.xml"/> </struts>
25
2.1 STRUTS2的STRUTS.XML配置文件
2.1.1 struts.xml配置文件结构 2.1.2 Bean配置
2.1.3 常量配置
2.1.4 包含配置 2.1.5 包配置 2.1.6 命名空间配置
一般习惯在struts.xml中配置Struts2的常量。
11
常量配置在struts.xml中格式如下: <constant name="属性名" value="属性值"/> <constant/>元素的常用属性有: name:指定常量(属性)的名字。 value:指中,配置国际化资源文件名和字符集的编码方式为“gb2312”,代码如 下:

Struts2框架的介绍和应用

Struts2框架的介绍和应用

Struts2框架的介绍和应用一、简介Struts2框架是一个基于MVC模式的Java web应用程序框架,它能够帮助开发人员有效地管理和组织大规模、复杂的web应用程序。

它提供了一系列的工具和技术,使得开发人员能够快速地构建完整可用的web应用程序。

二、历史Struts2框架最初是由Apache软件基金会的Jakarta项目组开发的。

它源于Struts1框架,因为Struts1框架在开发人员自由度和灵活性方面存在限制。

Struts2框架开发了许多新特性和改进,使其比Struts1更具有可扩展性、更易于使用,更适合于构建大规模的web应用程序。

三、架构Struts2框架采用MVC模式,即Model-View-Controller模式,分为以下三个层次:3.1 Model 层Model层用于将数据从数据库等存储区域提取出来,然后传递给View层进行显示。

Struts2框架中,Model层的数据可以是一个Java对象或一个POJO。

3.2 View 层View层将从Model层传递来的数据显示给用户,它可以采用JSP、HTML、XML等技术来展现数据。

3.3 Controller 层Controller层作为Model层和View层之间的中介,调度这两层的工作,处理用户的请求并将处理结果返回给View层。

四、优点4.1 易于扩展Struts2框架采用模块化的设计思路,在不同的模块之间,通过配置文件、注解等方式进行交互,方便扩展和维护。

4.2 易于使用Struts2框架提供了丰富的标签库和功能模块,使得开发人员可以快速地构建完整的web应用程序,降低了使用门槛。

4.3 基于MVC模式Struts2框架采用了MVC模式,将业务逻辑、数据处理、UI展示等功能分开,使得程序结构清晰,易于管理和维护。

五、应用Struts2框架广泛应用于Java web应用程序的开发,特别是在大型项目中使用。

以下是Struts2框架的一些主要应用场景:5.1 企业级应用程序Struts2框架能够较好地管理和组织大型的企业级应用程序,可以帮助开发人员高效地开发复杂的应用。

Struts2的配置文件详解

Struts2的配置文件详解
Struts2的命名空间的作用等同于struts1里模块的作用。
1.3.包含配置:
在Struts2中可以将一个配置文件分解成多个配置文件,那么我们必须在struts.xml中包含其他配置文件。
<struts>
<includefile="struts-default.xml"/>
<includefile="struts-user.xml"/>
erName= userName;
}
/**
*@returnthepassword
*/
publicString getPassword() {
returnpassword;
}
/**
*@parampasswordthepasswordtoset
*/
publicvoidsetPassword(String password) {
</action>
</package>
</struts>
如上示例的配置,配置了一个名为default的包,该包下定义了一个Action。
1.2.命名空间配置:
考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。
Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。
l public Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
l public void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名-属性值对。

STRUTS2的应用与讲解

STRUTS2的应用与讲解

struts.xml配置

当package中添加了namespace属性后,程序就会去匹配页面中的action值的 完整路径了。 上页的例子struts.xml中加入<package name="path1" namespace="/path1" ><package name="path2" namespace="path2">,JSP页面中的路径 <FORM action="wwww/test.action">就会找不到action,必须写成: <FORM action="path1/test.action">
案例前准备-struts.xml

struts.xml文件用于描述action,及连接器,导航,异常处理等信息。 是struts2应用的核心。 其中,采用了OO的思想,采用了包继承,命名空间,导入等机制。使 开发者更加容易上手
可以有多个package,package可以用来区分不同模块的action处理,extends属 性必须写,其值为struts-default,说明action的相关配置遵循strutsdefault.xml(内置的) 一个package中有多个action节点,action具体配置处理请求的类 子节点 result配置处理action后的导向地址,路径加"/"表示从webRoot目录 开始查找,不加“/”表示跳转到当前地址栏中目录下的指定文件 此配置访问时的路径是: 项目名/struts2/sum.action。 当action执行 后,return “negative” 或者 "positive" 如果result中不写name,则说明 return SUCCESS,就转向没有name的result中指 定的页面
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2 3卷
第 2期
计 算 机 技 术 与 发 展
C OMP UT ER T ECHNOL OGY AND DEVEL OPME NT
2 0 1 3年 2月
Vo 1 . 2 3 NO. 2 Fe b. 2 01 3
S t r u t s 2框 架核 心 配 置 文 件 的研 究 与应 用
ቤተ መጻሕፍቲ ባይዱ
2 . C h i n a U n i c o m J i n z h o u B r nc a h , J i n z h o u 1 2 1 0 0 0 , C in h a )
Ab s t r a c t : St r u t s 2 i s a p o we r f ul o p e n s o u r c e f r a me wo r k o f J a v a We b, t h e p r o c e s s i n g p r o c e d u r e o f S t r u t s 2 ra f me wo r k h a s b e e n in f i s h e d b y c o n i f g u r a i t on il f e s . Fo r he t c h a r a c t e is r i t c o f f r a me wo r k c o n ig f u r a io t n i f l e s mo r e c o n t e n t , c o n ig f ra u i t o n c o mp l e x i t y a n d h a r d t o ma s t e r , he t
建 步骤 及构 建方 法 ; 最 后研 究 s t u r t s . p r o p e r t i e s 配置 文件 , 着 重研究 s t r u t s . p r o p e t r i e s中包 含 主要 的 S t r u t s 2属性 及 配置 方 法。
文 中 的研究 内容 , 能够 使开 发者 清晰 地理 解配 置文 件 的写法 与调用 关 系 , 有 利于 团队成 员并 行工作 , 提 高开 发效率 。
难 以掌 握 的特点 , 对核 心 配 置 文 件进 行 研 究 。首先 , 列出了 S t mt  ̄ 框 架 的所 有 配 置 文 件 及 其 之 间 的相 互 关 系 , 指 出 了 s t r u t s . x m l 和s t r u t s . p r o p e r t i e s 是 核心 配置 文件 ; 接着 , 研究 s t ut r s . x m l 配 置 文件 , 包括 s t ut r s . x m l 常用 配 置 解析 、 s t r u t s . x m l 构
t wo c o r e c o n i f g u r a i t o n il f e s a r e r e s e a r c h e d . At i f r s t l i s t a l l he t c o n ig f u r a i t o n il f e s o f S t ut r s 2 nd a he t i r el r a t i o n s h i p . T h e n r e s e a r c h s t r u t s . x ml
刘 艳春 , 洪晓 慧
( 1 . 渤海大学 大学计算机教研部 , 辽 宁 锦州 1 2 1 0 1 3 ; 2 . 中国联 通 公 司锦 州分公 司 , 辽宁 锦 州 1 2 1 0 0 0 )
摘 要: S t r u t s 2是强 大 的 J a v a we b开 源框 架 , 处 理 过程 通过 配 置文 件完 成 。针对 S t r u t s 2框架 配 置文 件 内容多 、 配 置复杂 、
关 键词 : S t r u t s 2框架 ; 配 置文件 ; s t r u t s . x m l ; s t r u t s . p r o p e t r i e s 中图分 类号 : T P 3 1 1 文献 标识 码 : A 文章 编号 : 1 6 7 3 - 6 2 9 X( 2 0 1 3 ) 0 2 - 0 0 7 7 - 0 5
c o n i f g u r a i t on il f e, i n c l u d i n g s t r u t s . x ml c o mmo n c o n i f g u r a i t o n na a l y s i s , c o n s t r u c i t o n s ep t s a nd b u i l d i n g me ho t d o f he t s t r u t s . x m1 . Fi n a l l y- r e s e a r c h c o n ig f u r a t i o n i f l e s o f he t s t r u t s . p r o pe  ̄i e s。 f o c u s o n he t ma i n S t r u t s 2 a t t r i b u e t nd a c o n i f g u r a t i o n me ho t d c o n t a i n e d i n s t r u t s . p op r —
d o i : 1 0 . 3 9 6 9 / j . i s s n . 1 6 7 3 — 2 0 1 3 . 0 2 . 0 2 1
Re s e a r c h a n d Ap pl i c a t i o n o f Co r e Co n ig f u r a t i o n Fi l e s 0 f St r ut s 2 Fr a me wo r k
LI U Ya n- c h u n, HONG Xi a o-h u i
( 1 . T e a c h i n g a n d R e s e a r c h I n s i t t u t e o f C o l l e g e C o m p u t e r , B o h a i Un i v e r s i t y , J i n z h o u 1 2 1 0 1 3 , C h i n a ;
相关文档
最新文档