文档详情

Struts2配置文件配置.doc

发布:2017-08-03约3.81万字共10页下载文档
文本预览下载声明
Struts2配置文件的配置 在Struts2中的核心文件也就是struts.xml配置文件,如果这个配置文件出现错误,那么其他不管你做了多少工作都是没有用的,这个配置文件由开发人员编写的,该配置文件包含action、result等配置信息。主要负责管理struts2框架的业务控制器Action 整个struts2一种要存在3个xml配置文件:struts.xml、struts-default.xml、stuts-plugin.xml文件 struts.xml文件是由开发人员负责编写的 struts-defaule.xml文件是struts2默认的配置文件,为矿建提供默认的配置,该配置文件会自动加载,不需要开发人员编写,只是在编写struts.xml文件时在package元素中指定extends=struts-default属性就能加载该配置文件 struts-plugin.xml是struts2的插件使用的配置文件,如果不是开发插件的话,不需要编写该文件 Struts2的处理流程: Jsp/HtmlStrutsPrepareAndExecuteFilter用户请求 Jsp/Html StrutsPrepareAndExecuteFilter Interceptor Interceptor Struts2内置的一些拦截器或用户自定义的拦截器 Action Action 用户编写的Action类,类似struts1中的Action Result Result 类似Struts1的forward 响应 StrutsPrepareAndExexcuteFilter是Struts2框架的核心控制器,它负责拦截器由url-pattern/*url-pattern指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求,默认情况下,如果用户请求的路径不带后缀或者后缀一.action结尾,这是请求将被转入Struts2框架处理,否则Struts2框架将掠过请求的处理,当请求转入Struts2框架时会先经过一系列拦截器,然后在到Action,与Struts1不同,Struts2对用户的每次请求都会创建一个Action,所以Struts2中Action是线程安全的,Struts1是使用单例模式的 Struts2的Action Action除妖有三个作用: 封装工作单元,可以把Action看做是控制器的一部分,它的主要职责就是控制业务逻辑 数据转移的场所 返回结果字符串 动态方法的调用 动态方法的调用是在Action的名字中使用感叹号(!)来标识要调用的方法名称,格式为actionName!methodName.action 使用动态方法的调用可能会带来安全隐患(通过URL可以执行Action中的任意方法),所以在确定使用动态方法调用时,应该确保Action中的所有方法都是普通的、开放的方法,基于这个原因,Struts2框架提供一个属性的配置,用于禁用动态调用,可以在struts.xml文件中,通过constant元素将属性struts.enable.DynamicMethodInvocation设置为false,来禁止调用动态方法 使用方法为: constant name=struts.enable.DynamicMethodInvocation value=false/ 通配符的使用 在配置action../元素时,需要指定name、class和method属性,其中name属性可支持通配符,然后可以在class、method属性中使用表达式,这种使用通配符的方式是另一种形式的动态方法调用,通配符用星号(*)表示,用于配置0个或多个字符串,在配置Action是,可以通过元素的name属性中使用星号来匹配任意的字符串 如: action name=*Users class=com.jbit.struts.action.UsersAction method={1} result/page/{1}_success.jsp/result result name=input/page/{1}.jsp/result /action 配置默认的Action 如果我们请求一个不存在的Action,那么结果将会是在页面呈现HTTP404错误,为了解决这个问题,Struts2框架允许指定一个默认的Action,即如果没有一个Action匹配请求,那么默认的Action将会被执行 配置默认的Action通过default-action-ref /元素完成,每个default-action-ref/元素配置一个默认的Action。 默认的配置如下: struts package name=default extends=struts-default
显示全部
相似文档