导航:首页 > 文件管理 > struts2拦截器配置文件

struts2拦截器配置文件

发布时间:2023-08-12 16:51:16

1. 关于strut2拦截器:一个总的strut.xml文件,多个其他模块的配置文件。

试试external-ref
<external-ref name="mydefault">???</external-ref>

2. struts拦截器,在struts2配置文件中加入自定义的拦截器就出错

<package name="myinterceptor" extends="struts-default">
<interceptors>
<interceptor name="myInerceptor" class="com.interceptor.MyInterceptor1"/>
<interceptor-stack name="my">
<interceptor-ref name="myInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="my"/>

<action name="test_interceptor" class="com.action.InterceptorTest">
<result name="success">/interceptorsuccess.jsp</result>
<result name="input">/Hello.jsp</result>
</action>
</package>

//试试没坏处

3. 如何配置struts2的过滤器

你说的是拦截器吧
第一步:创建一个昌颤类实现Intercepter接口并实现其中方法
第二步:注册拦截器(在struts.xml)如:
<package name="cust"
namespace="/cust"
extends="struts-default">
<interceptors>
<!-- 注册拦截器 -->
<interceptor name="first"
class="com.interceptor.FirstInterceptor"/>
<interceptor name="second"
class="com.interceptor.SecondInterceptor"/>
<!-- 注册拦截器栈,将所有拦皮中截器打包在一起 -->
<interceptor-stack name="mystack">
<interceptor-ref name="first"/>
<interceptor-ref name="second"/>
<!-- 引用自定义的拦截器时,会使struts2自带的拦截器失效
因此,要将默认的拦截器加入到自定义的拦截器栈中 -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!--第三步: 引用拦截器 ,

<action name="toUpdateCustomer"
class="com.action.ToUpdateCustomerAction"
method="execute">
<!-- 引用拦截器 ,
<interceptor-ref name="first"/>
<interceptor-ref name="first"/>-->
<!-- 引用拦截器栈,会一次将所有的拦截器引用燃迅山 -->
<interceptor-ref name="mystack"/>
<result name="success">
/WEB-INF/cust/update_customer.jsp
</result>
</action>
</package>
供参考

4. 谁能详细给我解释一下struts2的一个配置文件中<action name,class,method,result>

java">配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,如果其他包要继承该包,必须通过该属性进行引用,包的namespace属性用于定义该包的命名空间,命名空间作用为访问该包下的action路径的一部分,见示例.namespace属性可以不配置,如果不指定该属性,默认的命名空间为””

通常每个包都应该继承struts-default包,因为struts2很多核心功能都是拦截来实现的,如,从请求中把请求参数封闭到action,文件上传和数据验证等都是通过拦截器实现的,struts-default定义了这些拦截器和Result类型,可以这么说,当包继承了struts-default才能使用struts2提供的核心功能,struts-default包是在struts2-core-2.xx.jar文件中的struts-defalut.xml中定义,struts-default.xml也是struts2默认配置文件,struts2每次都会自动加载struts-default.xml文件.

Action元素method属性,默认值为method=”execute”,也就是当action接收到请求后,交给哪个方法去处理,默认的是交给execute方法去处理,当然,也可以交给其他方法,{1}代表通配符,比如你上面的{1}index,我访问aaidex,bbindex都能够跳到此控制机器定义的这个方法

<resultname="success">/WEB-INF/JspPage/chapter1/HelloWorld.jsp</result>
result元素主要定义视图的跳转和返回的行为及类型、你定义的indexAction变小写是因为这是为spring接管了,。你spring配置文件中肯定有个bean的id是indexAction,class路径指向包名+类名。

struts.enable.SlashesInActionNames:该常量设置struts2是否允许action名中使用斜线,该常量的默认值是false。如果希望使用斜线,将该常量值设置成true即可。比如actionname="aa/bb"

5. struts2的web.xml有哪些配置

<!--配置过滤器,如下设置是struts2的主要拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<!-- 对应于<filter>配置的<filter-mapping>,一个filter可以对应配置多个<filter-mapping> -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
注意:<filter-mapping>中的<filter-name>必须跟<filter>中的<filter-name>相同。
这些个东西是在你发出请求的时候就执行的,比如你配置的那个/*是指无论你发出什么请求都要走struts2的拦截器,通过拦截器来查找你请求的东西,并作出响应;我后来配置的那个*.action是当你发出action请求时也得经过struts2的拦截器,你也可以只写
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

6. struts2 的struts.xml文件怎么配置

<!-- 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:false
namespace:定义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">http://www.sina.com</param>
</action>
</package>

阅读全文

与struts2拦截器配置文件相关的资料

热点内容
word编辑宏选中一段 浏览:458
微信怎么上传其他文件 浏览:220
互联网数据分析需要哪些指标 浏览:844
eps包含链接文件 浏览:167
怎么编程一些风景视频 浏览:430
苹果手机才能领的红包吗 浏览:823
js操作符 浏览:516
怎样打开db文件里的图片 浏览:820
卡仕达配置文件 浏览:419
怎样恢复直接删除的文件 浏览:587
pg数据库怎么迁移库 浏览:610
什么软件存放文件不能下载的 浏览:888
jsp的书籍推荐 浏览:330
大数据处理培训有哪些 浏览:163
苹果二手机检测多少钱 浏览:482
qq生日许愿保存到哪了 浏览:658
斗地主发牌程序c语言 浏览:996
cad安装上为什么文件夹是空的 浏览:676
mp3文件多少字节 浏览:261
哪个饰品批发网站好 浏览:944

友情链接