Struts2中的拦截器是struts2的核心功能之一,不仅提供强大的默认拦截器,还提供了一套自定义拦截器的配置方法。
简单写一下如何自定义一个拦截器:
1.首先要有一个你自己定义的拦截器,实现很简单,只要实现Struts2提供的interceptor接口,然后按照自己的需要编写实现代码。
public class TestInterceptor implements Interceptor
{
@Override
public void destroy()
{
}
@Override
public void init()
{
}
@Override
public String intercept(ActionInvocation arg0) throws Exception
{
FirstStep first = (FirstStep) arg0.getAction();
System.out.println(first.getUserName());
System.out.println(first.getPassword());
return arg0.invoke();
}}
2.然后配置一下Struts.xml 添加上这个拦截器
<package name="struts2" extends="struts-default" namespace = "/">
<interceptors>
<interceptor name="print" class="com.kewen.TestInterceptor"/>
</interceptors>
<action name="checkLogin" class="com.kewen.FirstStep">
<result name="success">/index.jsp</result>
<result name="login">/login.jsp</result>
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="print"/>
</action>
</package>
<interceptor-ref name="defaultStack"/>
这个是struts2的默认拦截器,必须配在自定义拦截器之前,才能正常使用Struts2提供的框架基础功能。
3.配好之后,我们的自定义拦截器就可以生效了
运行之后输入用户名和密码,控制台就会打出用户名和密码,证明我们的拦截器配置成功并且运转了。