方法拦截器 | 学习笔记

简介: 快速学习方法拦截器,介绍了方法拦截器系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门方法拦截器】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7318


方法拦截器

 

方法拦截

Jsp 页面

<body>

<form action="user/login.action" method="post">

用户名:<input type="text" name="name"/><br>

密码:<input type="password" name="pwd"/><br>

<input type="submit" value="登录"/>

</form>

</body>

Action 代码

public class LoginAction {

private String name;

private String pwd;

//处理方法

public String execute(){

System.out.println(name+"---"+pwd);

if("siggy".equals(name)&&"1111".equals(pwd)){

ActionContext.getContext().getSession().put("user",

name);

return "success";

}else{

return "login";

}

}

public String logout()

System.out.println("退出");

return "success";

}

public String getName(){

return name;

}

public void sethame(string name) {

this.name = name;

}

public String getPwd(){

return pwd;

}

public void setPwd(String pwd)(

this.pwd = pwd;

}

方法拦截器

Struts2提供 MethodFilterinterceptor 类,该类是 Abstractinerceptor 的子类,可以实现对 Action 方法的拦截

重写: dolntercept 方法

MethodFiltednterceptor 中参数配置:

如果一个方法同时在 excludeMethods 和 includeMethods 中出观则会被拦截

如果不配置这两个参数,所在 action 所有方法都会拦截

<interceptor name-"testmethod" class-"com.cssxt,interceptor,TestMethodinterceptor">

sparam name-"includeMethods">add,add2/paramp sparam name-"excludeMethods">add3,add4</param</interceptor>

1package cn.sxt.interceptor;

2

3import com.opensymphony.xwork2.ActionInvocation;

4import com.opensymphony.xwork2.interceptor.MethodfilterInterceptor;

5//方法拦截器

6 public class ListInterceptor extends MethodfilterInterceptor{

7@Override

8protected string doIntercept(ActionInvocation invocation) throws Ex

9Syste.out.println(“方式拦截器”);

10return invocation.invoke();

11}

12}

10方法拦截器:方法拦截器时比 Action 拦截器更加细粒度的控制,主体实现和 Action拦截器一致。但是方法拦截器时继承 MethodFilterinterceptor 类,重写dointercept()方法。

引用方法拦截器配置会发生改变:

<interceptor-ref name="methodInterceptor">

<!-- 配置被拦截的方法 -->

<param

name="includeMethods">list,add</param>

<!-- 配置不被拦截的方法 -->

<param

name="excludeMethods">login</param)

</interceptor-ref>

相关文章
|
3月前
|
Java 容器 Spring
HandlerInterceptor拦截器的原理
HandlerInterceptor拦截器的原理
33 0
|
3月前
过滤器&拦截器
过滤器&拦截器
32 0
过滤器&拦截器
|
4月前
SpringMVC-拦截器参数及拦截器链配置
SpringMVC-拦截器参数及拦截器链配置
32 0
|
6月前
|
Java 容器
过滤器和拦截器的区别
Filter 也称为过滤器,基于Servlet实现,拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行,基于AOP思想,对方法进行增强。和servlet 中的过滤器类似,都是对用户请求进行处理。
48 0
|
Java 应用服务中间件 API
过滤器和拦截器
过滤器和拦截器
140 0
|
存储 中间件 API
拦截器介绍和实际使用
拦截器介绍和实际使用
176 0
|
前端开发 Java Spring
SpringMVC拦截器实现原理
SpringMVC拦截器实现原理
126 0
SpringMVC拦截器实现原理
|
开发者
拦截器|学习笔记
快速学习拦截器
|
设计模式 Java 数据安全/隐私保护
拦截器 | 学习笔记
快速学习拦截器,介绍了拦截器系统机制, 以及在实际应用过程中如何使用。
110 0
拦截器 | 学习笔记
|
架构师 Java Spring
聊聊面试中的过滤器与拦截器
聊聊面试中的过滤器与拦截器
182 1
聊聊面试中的过滤器与拦截器