-
配置自定义拦截器后,默认拦截器不生效。需要手动引入。
<!--手动引用拦截器defaultStack--> <interceptor-ref name="defaultStack"/>
查看全部 -
1.params拦截器: -负责将请求参数设置为Action属性 2.staticParams拦截器: -将配置文件中action元素的子元素param参数设置为Action属性 3.servletConfig拦截器: -将源于Servlet API的各种对象注入到Action,必须实现对应接口 4.fileUpload拦截器: -对文件上传提供支持,将文件和元素设置到对应的Action属性,实际上内部依然使用了Commons-FileUpload组件。 5.exception拦截器: -捕获异常,并且将异常映射到用户自定义的错误页面 6.validation拦截器: -调用验证框架进行数据验证 更多的拦截器可在struts核心包的struts-default.xml中查看
查看全部 -
1、创建一个继承自AbstractInterceptor类
2、实现intercept方法
3、注册拦截器
<interceptors> <interceptor name="mytimer" class="com.interceptor.TimerInterceptor"/> </interceptors>
4、引用拦截器
<action name="timer" class="com.action.TimerAction"> <result>/index.jsp</result> <!--引用拦截器--> <interceptor-ref name="mytimer"/> </action>
查看全部 -
Struts2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能。
拦截器方法在Action执行之前或者之后执行。
拦截器栈: 从结构上看,拦截器栈相当于多个拦截器的组合。 在功能上看,拦截器栈也是拦截器。 拦截器的执行过程是一个递归的过程,工作原理类似于过滤器。
查看全部 -
方式一:实现Interceptor接口
- void init():初始化拦截器所需资源
- void destroy():释放在init()中分配的资源
- String intercept(ActionInvocation ai) throws Exception
实现拦截器功能
利用ActionInvocation参数获取Action状态
返回result字符串作为逻辑视图
方式二:继承AbstractInterceptor类
- 提供了init()和destroy()方法的空实现
- 只需要实现intercept方法即可
查看全部 -
strust2的工作流程: 客户端通过HttpServletRequest向Tomcat容器发送请求---->过滤器(核心控制器StrutsPrepareAndexecuteFiler)----> 核心控制器访问ActionMapper来决定是否调用某个action(如果是jsp页面等则不会调用action)------> 核心控制权ActionProxy(action代理)---->ConfigurationManager(配置管理器)加载struts.xml找到要调用的action---> ActionProxy(action代理)创建Action invocation实例--->调用拦截器123————》拦截器执行完后才执行action 调用action业务处理方法 同时这个方法返回一个 字符串结果--->根据字符串去匹配视图--->再次倒序执行拦截器321 ----最后通过HttpServletRequest响应请求
查看全部 -
内建拦截器2
查看全部 -
Struts2内建拦截器
查看全部 -
方法2:继承AbstractInterceptor类
查看全部 -
实现Interceptor接口
查看全部 -
Strust2架构
查看全部
举报