zoukankan      html  css  js  c++  java
  • spring debug

    DispatcherServlet{

    getHandler()
    }
    handlerMappings{
    RequestMappingHandlerMapping
    BeanNameUrlHandlerMapping
    WebMvcConfigurationSupport
    }

    BeanNameUrlHandlerMapping{
    determineUrlsForHandler() //加断点 可知 urlmapping有没有正确
    }

    RequestMappingHandlerMapping{
    createRequestMappingInfo() //url成功了才到这
    }

    RequestMappingHandlerAdapter {
    handleInternal  //加断点 
    }
    SimpleControllerHandlerAdapter,
    SimplePortletHandlerAdapter

    检查handlerMappings 在以下代码 启动时断点

    private void initHandlerMappings(ApplicationContext context) {
    this.handlerMappings = null;

    if (this.detectAllHandlerMappings) {
    // Find all HandlerMappings in the ApplicationContext, including ancestor contexts.
    Map<String, HandlerMapping> matchingBeans =
    BeanFactoryUtils.beansOfTypeIncludingAncestors(context, HandlerMapping.class, true, false);
    if (!matchingBeans.isEmpty()) {
    this.handlerMappings = new ArrayList<HandlerMapping>(matchingBeans.values());
    // We keep HandlerMappings in sorted order.
    AnnotationAwareOrderComparator.sort(this.handlerMappings);
    }
    }

    BeanNameUrlHandlerMapping{
    determineUrlsForHandler
    }
    RequestMappingHandlerMapping 以前的DefaultAnnotationHandlerMapping


    AbstractHandlerMapping{
    getHandler  真正作urlmatch
    }

    AbstractHandlerMethodMapping{
    getHandlerInternal

    protected HandlerMethod lookupHandlerMethod(String lookupPath, HttpServletRequest request) throws Exception {
    List<Match> matches = new ArrayList<Match>();
    List<T> directPathMatches = this.mappingRegistry.getMappingsByUrl(lookupPath);

  • 相关阅读:
    现代3D图形编程学习-关于本书
    极简单之爬虫入门
    前端学HTTP之网络基础
    用canvas 实现个图片三角化(LOW POLY)效果
    移动前端—图片压缩上传实践
    nodejs实现Websocket的数据接收发送
    nodejs学习之实现简易路由
    nodejs学习之实现http数据转发
    canvas粒子demo
    nodejs简易实现一下bigpipe
  • 原文地址:https://www.cnblogs.com/anjuncc/p/5250210.html
Copyright © 2011-2022 走看看