Struts自定义拦截器&拦截器工作原理

时间:2023-11-22 16:11:14

0.拦截器的调用原理:

  拦截器是一个继承了序列化接口的普通接口。其工作原理是讲需要被拦截的对象作为参数传到intercept()方法内,在方法内部对此对象进行处理之后再执行原方法。intercept(ActionInvocation invocation)是拦截处理的方法。

Interceptor .java
public interface Interceptor extends Serializable {

    /**
* Called to let an interceptor clean up any resources it has allocated.
*/
void destroy(); /**
* Called after an interceptor is created, but before any requests are processed using
* {@link #intercept(com.opensymphony.xwork2.ActionInvocation) intercept} , giving
* the Interceptor a chance to initialize any needed resources.
*/
void init(); /**
* Allows the Interceptor to do some processing on the request before and/or after the rest of the processing of the
* request by the {@link ActionInvocation} or to short-circuit the processing and just return a String return code.
*
* @param invocation the action invocation
* @return the return code, either returned from {@link ActionInvocation#invoke()}, or from the interceptor itself.
* @throws Exception any system-level error, as defined in {@link com.opensymphony.xwork2.Action#execute()}.
*/
String intercept(ActionInvocation invocation) throws Exception; }

1.自定义拦截器步骤

I. 定义一个拦截器的类

> 可以实现 Interceptor 接口
    > 继承 AbstractInterceptor 抽象类

 

1.拦截器

 package Action;

 import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor; public class PrivelegeInterceptor implements Interceptor { @Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init() {
// TODO Auto-generated method stub
//初始化方法,获得数据库信息。调用服务
} @Override
public String intercept(ActionInvocation arg0) throws Exception { //如果用户登录了就会有user属性(Session里面存一个session属性)
Object user = arg0.getInvocationContext().getSession().get("user");
// 上面可能是系统权限的管理
String result="";
System.out.println(user);
if(user!=null){
// 当满足条件时,让其执行,相当于是放行
arg0.invoke();
}else {
result = "logon";
ActionContext.getContext().put("msg", "您没有权限管理");
}
System.out.println(result);
return result;
}
}

2.被拦截的Action

 package Action;

 import com.opensymphony.xwork2.ActionContext;

 public class UserAction {

     public String addUI(){
ActionContext.getContext().put("msg", "成功执行了addUI操作");
System.out.println("执行addui操作");
return "success";
} public String update(){
ActionContext.getContext().put("msg", "成功执行了update操作");
System.out.println("执行update操作");
return "success";
}
}

3.JSP页面(主页面,也就是开始时要访问Action的页面)

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%-- <%
session.setAttribute("user", "uuuu");
%> --%>
Success
${msg }
<a href="/struts2interceptor/user_addUI.action">addui</a>
<a href="/struts2interceptor/user_update.action">update</a>
</body>
</html>

msg.jsp   也就是被拦截到没有权限时要去的页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
${msg }
</body>
</html>

II. 在 struts.xml 文件配置.  

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<!--
package的名字必须唯一!只能拦截.action请求
默认值:class:com.opensymphony.xwork2.ActionSupport
method:execute
result的name属性:success 方法中返回success即可跳转到结果对应的页面 --> <!-- 第一个package命名空间 -->
<package name="intercept" namespace="/" extends="struts-default"> <!-- 拦截器 -->
<interceptors>
<!-- 定义刚才的拦截器 -->
<interceptor name="permission" class="Action.PrivelegeInterceptor"></interceptor>
<!-- 定义拦截器栈 -->
<interceptor-stack name="permissionStack">
<!-- 拦截器栈里面可以引用另外一个拦截器,也可以引用另外一个拦截器栈 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="permission"></interceptor-ref>
</interceptor-stack>
</interceptors> <action name="user_*" class="Action.UserAction" method="{1}">
<result>/index.jsp</result>
<result name="logon">/msg.jsp</result>
<!-- 使用拦截器栈 -->
<interceptor-ref name="permissionStack"></interceptor-ref>
</action>
</package> </struts>

第二种使用拦截器的方式是:(在前面定义一下拦截器,然后在Action中使用新定义的拦截器与默认的拦截器)

    <interceptors>

         <interceptor name="hello" class="com.atguigu.struts2.interceptors.MyInterceptor"></interceptor>

     </interceptors>

     <action name="testToken" class="com.atguigu.struts2.token.app.TokenAction">
<interceptor-ref name="hello"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/success.jsp</result>
<result name="invalid.token">/token-error.jsp</result>
</action>

 III. 注意: 在自定义的拦截器中可以选择不调用 ActionInvocation 的 invoke() 方法. 那么后续的拦截器和 Action 方法将不会被调用.Struts 会渲染自定义拦截器 intercept 方法返回值对应的 result

这种经常用于权限管理,例如上面的拦截器,没有权限时,返回的是logon,自动渲染返回值为设置的值,然后根据返回值在Action配置中跳转到响应的页面。

aaarticlea/png;base64,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" alt="" />

IV.测试

1.没权限的测试,即session中不存在user

aaarticlea/png;base64,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" alt="" />

2.有权限的测试,即session中存在user

aaarticlea/png;base64,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" alt="" />

结果:

aaarticlea/png;base64,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" alt="" />

Struts2 拦截器 和 过滤器 的区别:

①、过滤器依赖于 Servlet 容器,而拦截器不依赖于 Servlet 容器。

②、Struts2 拦截器只能对 Action 请求起作用,而过滤器则可以对几乎所 有请求起作用。

③、拦截器可以访问 Action 上下文(ActionContext)、值栈里的对象 (ValueStack),而过滤器不能.

④、在 Action 的生命周期中,拦截器可以多次调用,而过滤器只能在容器 初始化时被调用一次。