`

Struts拦截器初次使用体验

阅读更多
    今天上午试着使用拦截器,根据网上的搜索,将自己的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.



努力学习!刚碰到问题的时候是有点儿郁闷,但是千万不能灰心,要鼓起勇气,战胜困难,并且记录下来,这就是学习经验!!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics