今天上午试着使用拦截器,根据网上的搜索,将自己的Action中配置了一个框架自带的拦截器:timer。但是,当我运行时,不但没有发现控制台输出什么粗略耗时统计之类的东西,居然还报出了500错误,说是什么空指针,杯具啊!
到最后,在网上看到一位老兄的一句话,突然来了灵感!
" 如果为Action指定了一个拦截器,则系统默认的拦截器栈将会失去作用。为了继续使用默认拦截器,所以上面配置文件中手动引入了默认拦截器。"
经典啊!原来是这里出问题了,于是,我就赶紧将action配置中又引入了struts框架的一个basicStack拦截器栈,终于OK了!!
<!-- Basic stack -->
<interceptor-stack name="basicStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
</interceptor-stack>
<struts>
<!-- 引入struts框架的配置文件 -->
<include file="struts-default.xml"></include>
<package name="struts2_test" extends="struts-default">
<action name="userCase" class="com.harry.demo.actions.UsercaseAction">
<!-- 配置一个拦截器 -->
<interceptor-ref name="basicStack"></interceptor-ref>
<interceptor-ref name="timer" />
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
控制台输出的信息如下:
2011-3-18 9:52:14 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Executed action [//userCase!login] took 31 ms.
努力学习!刚碰到问题的时候是有点儿郁闷,但是千万不能灰心,要鼓起勇气,战胜困难,并且记录下来,这就是学习经验!!
分享到:
相关推荐
里面是自己实现struts拦截器的一个原理,基于jdk的动态代理
Struts2拦截器(Interceptor) Struts2拦截器(Interceptor)
一个关于struts拦截器的简单例子,适合初学者!
Struts拦截器的案例,没有使用Hibernate,使用的是JDBC,该代码的核心实现是拦截器,至于数据库可根据个人需求进行修改。
struts1.2拦截器使用插件
Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序
其中,init和destroy方法会在程序开始和结束时各执行一遍,不管使用了该拦截器与否,只要在struts.xml中声明了该Struts2拦截器就会被执行。 intercept方法就是拦截的主体了,每次拦截器生效时都会执行其中的逻辑。
struts2拦截器的使用说明文档,配置说明文档。可以看一下
使用struts拦截器+注解实现日志审计功能 详见博客: http://blog.csdn.net/lk_blog/article/details/10248395
NULL 博文链接:https://cmexico.iteye.com/blog/621208
Struts2拦截器.ppt Struts2拦截器.ppt Struts2拦截器.ppt
struts2拦截器应用小例子,与大家共分享
Struts2的拦截器的使用详解实例 博文链接:https://zmx.iteye.com/blog/457434
struts2,Interceptor struts2拦截器实例,两套实例,一套是针对单个的action配置的,另一套实例是针对全局的action配置的拦截器interceptor
关于struts2 拦截器的详细的解释及其在开发中对struts2的拦截器的应用和拦截器在框架中的作用.
struts 拦截器实现权限拦截,例子简单易懂,有详细的注释。
在action执行之前先进行拦截器的拦截处理,然后再执行action的execute方法,返回给拦截器,再对应相应result
使用struts的拦截器拦截一些敏感性的词或一些非法或不文秘的言论
struts2.X 拦截器源码
基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截