struts2学习总结>>>>>>>>>>超级详细③
十三、拦截器
1.拦截器:interceptor
当浏览器访问action的时候,会被前端控制器拦截,拦截之后在执行action之前,会首先调用一组默认的拦截器执 行(defaultStack),这组默认的拦截器会帮助我们把共性的内容给执行了(例如 数据封装 ModelDriver 等),处 理完成之后才会处理自己的action。
2.拦截器和过滤器的区别:
1) 过滤器属于web端的技术 /* 拦截所有的资源 html 图片 jsp servlet…全部都拦
2) 拦截器属于struts2的技术 /* 只拦截action html 图片 jsp… 全部放行,不拦截 拦截器和过滤器除了内部结构不同 思想是一致的
3.自定义拦截器:
1)需要创建一个拦截器(javabean)
实现Interceptor
继承AbstractInterceptor
2 )为action声明这个创建好的拦截器
3 )定义一个拦截器组 组里面可以放1或多个拦截器 注意:组和组可以互相调用
4) 指定执行组中拦截器
4. ps(重点):
实现Interceptor 继承AbstractInterceptor 针对的都是action的所 有方法 如果要针对action的某一个方法 那就得用别的(工作中使用的)
特点:没有指定某个方法,默认是拦截action的所有方法继承
MethodFilterInterceptor:
十三、注解
1.条件: 导入 struts2-convention-plugin-2.3.24.jar包。
2.规范编写包名: 只去名字叫action actions struts struts2含有这些名称包下去加载注解
3.常用的注解:
@ParentPackage(“struts-default”) 定义在action类上的 指定继承的父包 @Namespace("/") 定义在action类上的 命名空间 @Action(value=“ad4”) 定义在方法上的 指定该方法的访问路径 。@Action(@Result(name=“ok”,location="/2.jsp")}) 定义在方法上 指定返回的逻辑视图名 根据 逻辑视图到指定的页面 。
这2个注解可以合并写在一起