zoukankan      html  css  js  c++  java
  • 一个失误引发的追查

    问题:

    springmvc程序,查bug修改springmvc.xml配置文件,第二天启动程序所有跳转均404

    type Status report  

    message /adTestTools/ercView  

    description The requested resource is not available

    解决过程:

    1.修改controller文件保存,并未触发DispatcherServlet重新初始化,猜想DispatcherServlet并未进行分发

    2.查web.xml并无异常,查springmvc.xml,发现context:component-scan的base-package错误,标点写成了中文

    尼玛!!!what the fuck!!!

    知识:

    springmvc原理图:

    SpringMVC工作原理

    1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

    2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler/Controller)。

    3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。

    5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

    6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

    7、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。

    context:component-scan:

    自动扫描

  • 相关阅读:
    EfCore基本用法
    C#笔试题目总结
    LINQ
    markdown 语法
    打造一款 刷Java 知识的小程序(二)
    为了考PMP,我做了一个刷题小程序
    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
    反制面试官 | 14张原理图 | 再也不怕被问 volatile!
    50+道大厂JVM面试题 + 11张思维导图就是让你懂JVM~
    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
  • 原文地址:https://www.cnblogs.com/binger1990/p/4610471.html
Copyright © 2011-2022 走看看