SpringMVC源码解析AbstractHandlerMethodAdapter
发布日期:2021-06-30 12:25:33
浏览次数:2
分类:技术文章
本文共 1522 字,大约阅读时间需要 5 分钟。
AbstractHandlerMethodAdapter是HandlerAdapter接口的简单抽象类,实现了接口定义的方法,同时增加了执行顺序Order。
public abstract class AbstractHandlerMethodAdapter extends WebContentGenerator implements HandlerAdapter, Ordered { private int order = Ordered.LOWEST_PRECEDENCE; public AbstractHandlerMethodAdapter() { // no restriction of HTTP methods by default super(false); } @Override public final boolean supports(Object handler) { return (handler instanceof HandlerMethod && supportsInternal((HandlerMethod) handler)); } protected abstract boolean supportsInternal(HandlerMethod handlerMethod);
API
handle
重写HandlerAdapter的handle方法,此实现需要的处理器是一个HandlerMethod
handleInternal
- 使用给定的处理方法来处理请求。 // (1)备好处理器所需要的参数 // (2)使用处理器处理请求 // (3)处理返回值,将不同类型的返回值统一处理成ModelAndView
PARAMS:
请求 - 当前的HTTP请求
响应 - 当前HTTP响应 handlerMethod - 处理方法使用。 这个对象必须已经传递到supportsInternal(HandlerMethod)接口,这样肯定没有返回true 。返回
与视图的名称和所需的模型数据,或ModelAndView对象null如果请求已经被直接处理
抛出:
Exception -在错误的情况
@Override public final long getLastModified(HttpServletRequest request, Object handler) { return getLastModifiedInternal(request, (HandlerMethod) handler); } //提供order功能 public void setOrder(int order) { this.order = order; } @Override public int getOrder() { return this.order; } protected abstract long getLastModifiedInternal(HttpServletRequest request, HandlerMethod handlerMethod); }
handleInternal由唯一子类RequestMappingHandlerAdapter实现。
转载地址:https://javaedge.blog.csdn.net/article/details/106525869 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月27日 13时32分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Paper reading —— End-to-End Learning of Geometry and Context for Deep Stereo Regression(GC-Net )
2019-04-30
Node-Red(二)——节点功能介绍
2019-04-30
Node-Red相关操作
2019-04-30
Python npy文件
2019-04-30
RESTful API
2019-04-30
优化算法(四)——粒子群优化算法(PSO)
2019-04-30
数据在Oracle中的存储
2019-04-30
轨迹规划 trajectory planning
2019-04-30
AGV自动导引运输车
2019-04-30
Trie树(字典树)
2019-04-30
COMP7404 Machine Learing——绘制数据点
2019-04-30
COMP7404 Machine Learing——Perceptron
2019-04-30
为什么Python的for循环很慢
2019-04-30