springmvc初始化失败问题跟踪
1.问题
访问路径http://10.118.30.52:8088/helloWorld/hello后会报404错误,原因是springmvc配置文件中的包扫描路径错误.修改配置如下:
<context:component-scan base-package="AgileShare" />
2.问题跟踪发现
1.打断点到正常的controller代码中,如下图:

2.通过观察方法的调用栈内存,可以看到方框内主要是servlet的调用方法,属于服务器端的调用,所以将断点打在spring.web的doDispatch()方法中.

3.通过观察doDispatch方法 ,可以定位到获取handler的方法,如下图是获取到的handler类及方法:

4.继续追踪这个getHandler(processedRequest)方法
会发现这个getHanler方法依然属于DispatcherServlet类,this.handlerMappings属性下的mappingRegistry属性记录了所有的springmvc的初始化bean.

5.继续追踪这个this.handlerMappings属性是被谁初始化,发现初始化方法中会传入context

但是打断点后重新请求无效,发现这个initStrategies方法是服务器启动后初始化调用的.可以在下图看到调用时是继承父类中的方法调用的.

继续追踪父类,通过方法调用占可以看出调用的是哪一个父类即FrameworkServlet.至此已经追踪到顶层了

看怎么初始化所有实例bean还要追踪


如下图执行完这个方法后所有的初始化类都会进入到context及webApplication中

springmvc初始化失败问题跟踪的更多相关文章
- spring 集成 mybatis 后数据源初始化失败问题分析
问题背景: 项目使用spring,springmvc框架,后边需操作关系数据库,选择了mybatis + durid,集成mybatis后,项目一直启动失败.错误的原因是dataSource初始化的时 ...
- NLPIR_Init文本分词-总是初始化失败,false,Init ICTCLAS failed!
前段时间用这个分词用的好好的,突然间就总是初始化失败了: 网上搜了很多,但是不是我想要的答案,最终去了官网看了下:官网链接 发现哇,版本更新了啊,下载页面链接 麻利的下载好了最新的文档,一看压缩包名字 ...
- [PL/SQL工具]绿色版PLSQL工具登录时提示初始化失败,无法锁定OCI.dll错误
问题现象:使用绿色版PL/SQL工具进行登录时报如下截图错误: 问题描述:初始化失败,无法锁定oci.dll 解决方法:在PLSQL的菜单栏里依次选择 工具->首选项,在OCI库(自动检测为空) ...
- Visual Studio提示Bonjour backend初始化失败
Visual Studio提示Bonjour backend初始化失败 错误信息:The Bonjour backend failed to initialize, automatic Mac Bui ...
- 针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法
日志名称: Application 来源: Active Server Pages 日期: 2014-11-22 9:09:39 事件 I ...
- iis7.5应用程序池模板永久性缓存初始化失败解决方法
错误: 针对应用程序池的模板永久性缓存初始化失败,这是由以下错误导致的: 无法为应用程序池创建磁盘缓存子目录.数据可能包含其他错误代码. 解决办法如下: 网上搜索的答案全都是修改3个目录的权限,给II ...
- MvcPager2.0 中分页初始化失败的问题
页面初始化时只有一页数据,或没数据时,出现分页控件初始化失败以及后续Ajax分页功能失效的问题, <div class="pagin"> <div class=& ...
- Quality Center11初始化失败
打开start_a.jsp页面总是闪退,原因如下: 初始化失败因为证书签名过期了.把IE选项里证书检查的三项勾掉就好了(检查发行商的证书是否吊销.检查服务器证书吊销.检查已下载的程序的签名)
- IIS 之 失败请求跟踪规则
若想使用此功能需先启动如下图的Windows功能: 利用失败请求跟踪功能,可以在出现问题时捕获相应的XML格式的日志,从而无需重现该问题即可开始故障排除.此外,还可以定义应用程序的失败条件并配置要基于 ...
随机推荐
- scrapy 爬虫的暂停与重启
暂停爬虫项目 首先在项目目录下创建一个文件夹用来存放暂停爬虫时的待处理请求url以及其他的信息.(文件夹名称:job_info) 在启动爬虫项目时候用pycharm自带的终端启动输入下面的命令: sc ...
- html知识点汇总(持续更新中)
本人从事前端行业三年多,打算从今天开始整理一些关于前端的一些比较经典的知识点,持续更新中...希望能对一些相关知识点有疑问的朋友有一些帮助! HTML篇: 1.常见的行内元素/块级元素/空元素有哪些? ...
- js中call()的用法
A.call(B,x,y) 1`改变函数A的this指向,使之指向B; 2` 把A函数放到B中运行,x和y是A函数的参数. //父类 Person function Person() { ...
- [minecraft]mcCoder制作有感
mcCoder是一个minecraft-forge-mod制作库,力图让mod制作者可以更简单的制作mod,减少mod制作者的mod制作难度. 在GitHub上关注这个项目: 原理 mcCoder主要 ...
- 浏览器输入URL后,HTTP请求返回的完整过程
1.Redirect,跳转 浏览器记录里这个地址永久跳转的新地址,浏览器先去判断需不需要跳转 2.Application cache ,应用缓存 浏览器看请求的资源是否有缓存 3.DNS解 ...
- Vue-admin工作整理(十六):Ajax-axios进行请求封装+拦截器
典型的工具类封装,增加拦截起来做相应的处理 user.js: import axios from './index' export const getUserInfo = ({ userId }) = ...
- TCGA一些数据库
最出名,http://www.cbioportal.org/ 特色:最基本的简单分析基因突变.共表达/共突变的基因,下载数据也可以,最常看的应该还是oncoPrint那个. 详细用法:TCGA数据库的 ...
- 用R语言做数据清理
数据的清理 如同列夫托尔斯泰所说的那样:“幸福的家庭都是相似的,不幸的家庭各有各的不幸”,糟糕的恶心的数据各有各的糟糕之处,好的数据集都是相似的.一份好的,干净而整洁的数据至少包括以下几个要素: 1. ...
- python实现简单二分查找
#!/usr/bin/pythondef binary_search(list, item): low = 0 high = len(list)-1 while low <= high: mid ...
- loadrunner中组合场景的应用
进行性能测试的回归测试时,可以设置组合场景,例如: 这时可以以组的形式运行: 运行效果如下: 当login运行完成后,运行goodslist脚本 . 运行时可以查看运行用户数.事务平均响应时间.吞吐量 ...