900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > springmvc拦截器对请求参数解密_SpringMVC拦截器如何修改请求参数

springmvc拦截器对请求参数解密_SpringMVC拦截器如何修改请求参数

时间:2020-03-24 07:33:30

相关推荐

springmvc拦截器对请求参数解密_SpringMVC拦截器如何修改请求参数

拦截器1,基本拦截器:

package cn.ijava.interceptor;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

public class BaseInterceptor implements HandlerInterceptor{

/**

* 在DispatcherServlet之前执行

* */

public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {

System.out.println("************BaseInterceptor preHandle executed**********");

return true;

}

/**

* 在controller执行之后32313133353236313431303231363533e78988e69d8331333365656530的DispatcherServlet之后执行

* */

public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)

throws Exception {

System.out.println("************BaseInterceptor postHandle executed**********");

}

/**

* 在页面渲染完成返回给客户端之前执行

* */

public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)

throws Exception {

System.out.println("************BaseInterceptor afterCompletion executed**********");

// Thread.sleep(10000);

}

}

指定controller请求的拦截器

publicclassTestInterceptorimplementsHandlerInterceptor{publicbooleanpreHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2)throwsException{System.out.println("************TestInterceptorpreHandleexecuted**********");returntrue;}publicvoidpostHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,ModelAndViewarg3)throwsException{System.out.println("************TestInterceptorpostHandleexecuted**********");}publicvoidafterCompletion(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,Exceptionarg3)throwsException{System.out.println("************TestInterceptorafterCompletionexecuted**********");}}

在SpringMVC的配置文件中注册这两个拦截器

定义一个测试使用的controller:

@ControllerpublicclassTestController{@RequestMapping("/test.html")publicModelAndViewhandleRequest(){System.out.println("---------TestControllerexecuted--------");returnnewModelAndView("test");}}

扩展:java里的拦截器是动态拦截Action调用的对象。

它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,

也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。

在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,

进行拦截然后在之前或之后加入某些操作。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。