2 qq 32224861 qq_32224861 于 2016.02.24 14:38 提问

有关Java中拦截器的问题???

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (!(handler instanceof HandlerMethod)) {
return true;
}
......
}

中这个判断有什么意义吗

4个回答

luochoudan
luochoudan   Ds   Rxr 2016.02.24 16:36
已采纳

判断的意义:如果传入的handler不是HandlerMethod的实例或者子类实例,就返回true,跳出该方法,下面的代码都不会再执行。

rui888
rui888   Ds   Rxr 2016.02.24 15:30

preHandle:在执行action里面的处理逻辑之前执行,它返回的是boolean,这里如果我们返回true在接着执行postHandle和afterCompletion,如果我们返回false则中断执行。

postHandle:在执行action里面的逻辑后返回视图之前执行。

afterCompletion:在action返回视图后执行。

参考

bdmh
bdmh   Ds   Rxr 2016.02.24 14:41

handler这个参数的传入可能涉及多种类型,这里就是判断了一下,是不是 HandlerMethod,类型

qq_32224861
qq_32224861 那我这里写的不是HandlerMethod类型的,就返回true了啊,下面的内容就不走了啊,是这样吗
2 年多之前 回复
xionglangs
xionglangs   Rxr 2016.02.24 15:48

图片说明,我个人感觉你应该在return 前面价格标记,如果没有这个标记就等于拦截成功,不让它进入拦截的方法,或是直接加个跳转到别的页面去,比如登录页面,你这里的这种情况,明显是逻辑代码写在图片说明,如果不需要拦截,就往下走,这得把这个方法写的多大啊。

qq_32224861
qq_32224861 确实代码很多
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java拦截器(interceptor)原理
导言:struts2中的拦截器是一个有用的功能,使用它我们可以在一系列业务操作之前或之后做一些特定的操作,比如常见的权限控制。 原理:它采用了java动态代理和反射的机制来实现。 示例:自定义拦截器类,业务接口和实现类,动态代理类,执行,效果 1.//Brightmart自定义的拦截器类,它有两个普通方法:before和after. public class Brightmar
用拦截器解决页面JSP缓存问题
相信大家有过如此困扰吧? 客户端浏览器因为缓存的原因,有时候页面是旧的。 很恼火,我相信很多人的解决方案无非就是以下两种: 1.在jsp页面meta标记no-cache 2.request中设置header 但这样做是有弊端的。显而易见,不管是按方案1还是方案2,都需要在每一个JSP页面进行类似设置。 那有没有可以只用设置一次,就可以取消客户端页面缓存的呢? 当然有! 使用strust2
struts2拦截器实例
主要是有关Struts2中拦截器的配置和解析,简单的应用。
处理request.getInputStream()输入流只能读取一次问题
一般我们会在InterceptorAdapter拦截器中对请求进行验证正常普通接口请求,request.getParameter()可以获取,能多次读取如果我们的接口是用@RequestBody来接受数据,那么我们在拦截器中需要读取request的输入流  ,因为 ServletRequest中getReader()和getInputStream()只能调用一次这样就会导致controller 无...
关于springMVC重定向问题
@Controller @RequestMapping(value = "/redirect") public class Test {       //进入路径/SpringMVCDemo/redirect/test1     //重定向路径/SpringMVCDemo/redirect/index     @RequestMapping("/test1")     publi
struts2拦截器学习小例子--实现权限控制
(1)首先直接访问 http://localhost:8080/MyStudy/showAction,我们会发现直接访问myhome.jsp会转入登录页面提示需要先登录 (2)这时候输入xiaoming 12345登录,进入welcom.jsp页面 (3)点击链接后成功进入myhome.jsp页面
客观面试题--27.过滤器Filter和Struts2拦截器的区别?
 什么是拦截器:     拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。    在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执...
mvc的拦截器控制权限的例子
1、里面使用mvc的拦截器来作为权限控制,源码希望对你有用。
Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解
Filter filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。它与Servlet的区别在于:它不能直接向用户生成响应。完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。 Filter有如下几个用
请求拦截器HttpRequestInterceptor
public interface HttpRequestInterceptor org.apache.http.HttpRequestInterceptor Known Indirect Subclasses BasicHttpProcessor, HttpProcessor, RequestAddCookies, RequestConnControl, RequestContent,