Spring拦截器拦截请求,获得加密的参数,怎样重新设置参数值?

2025-04-16 00:59:55
推荐回答(2个)
回答1:

拦截器继承HandlerInterceptorAdapter类,并重写了preHandle();方法,在此方法中获得了加密后的参数字符串,解密后,怎么将解密后的参数重新设置到HttpServletRequest的URL后边,使得Action能够接受到这些参数?也就是替换加密的参数(request.getQueryString();方法得到的请求参数字符串,全部替换)

    拦截器

java里的拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。

回答2:

你可以使用Filter来弄,其中的ServletRequest

然后使用HttpServletRequestWrapper重新封装。