Struts2学习day04

一、拦截器创建方法

拦截器生命周期:随项目启动而创建,随项目销毁而销毁

1、实现接口Interceptor。

2、继承AbstractInterceptor。帮我们空实现里init()和destroy()方法,如不需要这两个方法,就可以只实现Intercept方法。

3、继承MethodFilterInterceptor。可以定制拦截器拦截的方法。可以定制哪些方法需要拦截,哪些不需要拦截。只需要实现doIntercept()方法。

推荐第三种。

二、拦截器的放行

放行方法:Invocation.invoke()

放行之前是前处理,放行之后是后处理。

如若不放行,可以不进行invoke(),直接在返回值处返回相应的字符串,从而跳过后序的拦截器和Action,交给结果集进行处理。如跳转到登录错误页面。

三、拦截器配置

1、注册拦截器

在struts.xml中的配置位置是在第二个,位于result-type之后。

<interceptors>

    <interceptor name="myInter" class="Inter.myInter"></interceptor>

<interceptor>

2、注册拦截器栈

<interceptor-stack name="myStack">

    <!-- 自定义拦截器引入(建议放在20个拦截器之前)-->

    <interceptor-ref name="myInter"></interceptor-ref>

    <interceptor-ref name="defaultStack"><interceptor-ref>

</interceptor-stack>

3、指定默认的拦截器栈

在struts.xml中的位置紧挨在interceptor之后。

<default-interceptor-ref name="myStack"></default-interceptor-ref>

四、拦截器拦截方法指定

<interceptor-ref name="myInter">

    <!--指定哪些方法不拦截-->

    <param name="excludeMethods">add,delete</param>

</interceptor-ref>

<interceptor-ref name="myInter">

    <!--指定哪些方法需要拦截-->

    <param name="includeMethods">add,delete</param>

</interceptor-ref>

配置的本质:调用MethodFilterInterceptor类的setExcludeMethods()或setIncludeMethods()方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值