DiapatcherServlet 源码分析(四)
来源:互联网 发布:sql select 字段赋值 编辑:程序博客网 时间:2024/05/21 10:22
1. DiapatcherServlet.getHandler(HttpServletRequest request)
遍历所有的注册handler, 默认为:
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {for (HandlerMapping hm : this.handlerMappings) {if (logger.isTraceEnabled()) {logger.trace("Testing handler map [" + hm + "] in DispatcherServlet with name '" + getServletName() + "'");}//根据请求从缓存中找到对应的handlerHandlerExecutionChain handler = hm.getHandler(request);if (handler != null) {return handler;}}return null;}
2.AbstractHandlerMapping.getHandler(HttpServletRequest request)
找到匹配的handler
public final HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {Object handler = getHandlerInternal(request);......HandlerExecutionChain executionChain = getHandlerExecutionChain(handler, request);......return executionChain;}
遍历初始化时包装好的handlerMap,解析出对应的Conroller, 并包装成HandlerExecutionChain
protected Object getHandlerInternal(HttpServletRequest request) throws Exception {String lookupPath = getUrlPathHelper().getLookupPathForRequest(request);Object handler = lookupHandler(lookupPath, request);......return handler;}
阅读全文
0 0
- DiapatcherServlet 源码分析(四)
- Logcat源码分析(四)
- pomelo源码分析(四)
- H264源码分析(四)
- mosquitto源码分析(四)
- openMPM源码分析(四)
- quartz源码分析(四)
- Tomcat8源码分析(四)
- mosquitto源码分析(四)
- mosquitto源码分析(四)
- Java 源码分析(四)
- YOLOv2源码分析(四)
- uC/OS-II源码分析(四)
- Spark的standalone源码分析(四)
- LLVM 源码分析(四)FunctionPass
- mina源码分析四(转)
- crawler4j源码分析(四)Parser
- Spiderman源码分析(四)Frontier
- 使用浏览器的开发者工具来检查 CSS 的动画性能
- Gson解析(List和Map)格式json数据
- oschina支持svn
- HDU2255 奔小康赚大钱
- 斗地主
- DiapatcherServlet 源码分析(四)
- 图片垂直居中,小图铺满div,css3点击变红叉,css背景图拉伸铺满
- Dynamic Web Module 3.0 request Java 1.6 or newer---One or more constraints have not been satisfied解决
- gcForest脑电身份识别
- 关于PYTHON NUMPY数组的切片的符号省略问题
- 父类与子类的继承、虚方法的使用
- 二叉搜索树的顺序性
- 浅谈C++重载、重写和隐藏、覆盖
- Netbeans 更改默认语言为英语