Struts2-配置文件详解
来源:互联网 发布:erp软件好学吗 编辑:程序博客网 时间:2024/06/16 12:01
Struts2配置文件涉及到主要有两个Struts.xml和web.xml,web.xml实现过滤器的配置,Struts配置访问的包,Action,方法和结果处理。
1. web.xml的配置:
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.ng.filter.StrutsPrepareAndExcuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-name>/*</url-pattern><filter-mapping>
2. Struts.xml配置详解:
1)属性介绍:
package属性
<action>属性
<result> 属性
对应的type类型:
名字
说明
chain
用来处理Action链
dispatcher
用来转向页面,通常处理JSP,这是默认的结果类型
freeMarker
处理FreeMarker模板
httpHeader
用来控制特殊的Http行为
redirect
重定向到一个URL
redirect-action
重定向到一个Action
stream
向浏览器发送InputSream对象,通常用来处理文件下载
velocity
处理Velocity模板
xslt
处理XML/XLST模板
plaintext
显示原始文件内容,例如文件源代码
tiles
结合Tile使用
2)配置实例:
<!--命名空间是为了保证不同包里面可以有相同的action名字<package name="defult" extends="struts-default" namespace="/manage"><action name="login" class="com.web.action.LoginAction"><result name="success">/success.jsp</result><result name="error">/error.jsp</result></action><!--为每一个跳转方法提供action--><action name="userLogin" class="org.xx.web.user.LoginAction" <span style="COLOR:#ffffff">method="login"</span><result>…</result></action><action name="regist" class="org.xx.web.user.LoginAction" <span style="COLOR:#ffffff">method="regist"</span><result>…</result></action><!--action的name,class,method都可以使用通配符--><action name="user_*" class="com.xy.web.user.UserAction" method="{1}"><result>…</result><!--动态返回结果--><result name="next" type="redirect-action">${nextAction}</result> </action></package>
如上,<actionname=”user_*”>定义一系列请求URL是user_*.action模式的逻辑Action。同时method属性值为一个表达式{1},表示它的值是name属性值中第一个*的值。例如:用户请求URL为user_login.action时,将调用到UserAction类的login方法;用户请求URL为user_regist.action时,将调用到UserAction类的regist方法。
3)分解配置:struts2的配置文件可 以分解成多个,需要在struts.xml中包含其他配置文件
<struts><include file="struts-default.xml"><include filter="struts-user.xml"><struts>
4)常量配置
<struts><constant name="struts.custom.i18n.resources" value="messagges"/><!--表示指定了资源文件的放置在classes目录下,基本名是messages,则在classes目录下您就应该放置类似messages_zh_CN.properties,message_en.properties名的文件。或者直接可以在value中设置为GBK等等。 --><constant name="struts.devMode" value="true"/><!--配置开发者模式,修改配置后不用重新启动--></struts>
5)异常处理配置
<struts><packate name="my" extends="struts-defult" ><global-results><!--逻辑异常,映射到/exception.jsp页面--><reuslt name="sql">/exception.jsp</result></global-results><globa-exception-mappings><!--当action抛出sqlexception异常时,转入名为sql的结果--><exception-mapping exception="java.sql.SQLExcption" result="sql"/><global-exception-mappings></struts>
拦截器是AOP的编程思想,作用:
- 进行权限控制
- 跟踪日志(记录每个浏览者请求的每个Action)
- 跟踪系统的性能瓶颈(记录每个action开始处理时间和结束处理时间,得到耗时较长的Action)
<interceptors> <interceptorname="拦截器名"class="拦截器类"/> <interceptor-stackname="拦截器栈名"> <interceptor-refname="拦截器名"> </interceptor-stack></interceptors><interceptors><interceptor name="autority" class="lee.AuthorityInterceptor"/><interceptor name="log" class="lee.LogInterceptor"/><interceptor-stack name="authorityandlog"><interceptor name="autority"/><interceptor name="log"/></interceptor-stack></interceptors><!--在action使用拦截器--><action name="myaction" class="lee.MyAction"><result name="sucess">…</result><interceptor-ref name="authorityandlog"/></action>
7)其他配置
默认Action执行的class配置<defult-class-ref>:<defult-class-ref class="org.action.LoginAction"/>
包范围内所有action执行的拦截器配置<default-interceptor-ref>:<default-interceptor-refname="defaultStack"/>
- Struts2 配置文件详解
- struts2配置文件详解
- struts2属性配置文件详解
- struts2属性配置文件详解
- Struts2配置文件详解
- Struts2配置文件详解
- struts2 配置文件详解
- struts2配置文件详解
- Struts2配置文件详解
- struts2配置文件详解
- struts2配置文件详解
- Struts2配置文件 result详解
- struts2配置文件详解
- Struts2 配置文件 详解
- Struts2配置文件详解
- struts2 配置文件详解
- Struts2配置文件详解
- struts2 配置文件详解
- 微信小程序 navigation API
- 程序死锁与预防
- 测试1
- 357. Count Numbers with Unique Digits 类别:动态规划 难度:medium
- leetcode 重建二叉树
- Struts2-配置文件详解
- 源码-Oracle数据库管理-第十七章-动态SQL语句-Part 2(使用EXECUTE IMMEDIATE)
- 4.Nodejs入门-----MongoDB
- 测试2
- [Azure]使用Powershell输出Azure订阅下所有虚拟机的ACL信息
- SVN和Maven的区别
- 织梦系统(DEDECMS)后台模板修改2
- 微信小程序 animation API
- Oracle操作命令大全(备查)