您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

对HandlerExecutionChain类的实例讲解

2026/1/22 19:54:53发布22次查看
讲解handlerexecutionchain之前,先大致了解下springmvc的核心开发步骤:
在web.xml中部署dispaterservlet,并配置springmvc.xml等文件;
将映射文件请求到处理器handlermapping;
handlermapping会把请求映射为handlerexecutionchain类型的handler对象;
将handler对象作为参数传递给handleradapter的实例化对象,调用其handler方法会生成一个modelandview对象;
通过viewresolver视图解析器,将上一步骤中生成的modelandview解析为view;
dispatcherservlet根据获取到view,将视图返回给用户。
handlerexecutionchain类比较简单,好理解。
========================================================================
  handlerexecutionchain {
========================================================================
下面是类的部分属性。
  list<handlerinterceptor>
========================================================================
 applyprehandle(httpservletrequest request, httpservletresponse response) = (! ( i = 0; i < interceptors.length; i++= (!interceptor.prehandle(request, response, .interceptorindex =
========================================================================
applyposthandle(httpservletrequest request, httpservletresponse response, modelandview mv) = (! ( i = interceptors.length - 1; i >= 0; i--=
/** * 这个方法只会执行prehandle()方法已经成功执行并且返回true的拦截器中的posthandle()方法。     */void triggeraftercompletion(httpservletrequest request, httpservletresponse response, exception ex)throws exception {         handlerinterceptor[] interceptors = getinterceptors();if (!objectutils.isempty(interceptors)) {for (int i = this.interceptorindex; i >= 0; i--) {                 handlerinterceptor interceptor = interceptors[i];try {                     interceptor.aftercompletion(request, response, this.handler, ex);                 }catch (throwable ex2) {                     logger.error(handlerinterceptor.aftercompletion threw exception, ex2);                 }             }         }     }
以上就是对handlerexecutionchain类的实例讲解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product