2019独角兽企业重金招聘Python工程师标准>>>

一直以来都在用java的springmvc,没有深入去探究关于spring以及mvc的一些内在的工作过程,今天利用休息时间,仔细阅读了一下我们的源码,并结合搜索引擎,明白了几个之前解决了问题,还没理解原理的原因所在.

本文将对SpringMVC的理解进行追踪描述,一来希望大家批评指正,纠正错误的理解,二来给自己一个留念,当以后忘记的时候,还有个记录,可以再次回想起来,三来总结技术经验,希望今后的路走的更好.

早两天我部署了一个项目,所有的配置都是从公司项目中抽取出来的.公司项目运行得很好,而我自己的项目却总是404,在这之前,为了看项目是否部署好,做了个html页面做静态资源测试,于是增加了静态资源配置如下:

<servlet-mapping>
      <servlet-name>default</servlet-name>
      <url-pattern>*.html</url-pattern>

</servlet-mapping>

项目中有两个配置文件,一个是MyProject-sevlet.xml,另一个是ApplicationContext-Services.xml

在web.xml中配置是这样的

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/ApplicationContext-Services.xml</param-value>
  </context-param>

<servlet>
    <servlet-name>MyProject</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/conf/MyProject-servlet.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

注解驱动<mvc:annotation-driven/>是写在ApplicationContext-Services.xml,而不是MyProject-sevlet.xml,无论怎么访问jsp页面,都是404 ,后来发现,只要在MyProject-sevlet.xml加上<mvc:annotation-driven/>就能正常访问.猜想应该是没有优先加载ApplicationContext-Services.xml所导致的问题,但奇怪的是,公司项目配置文件就是这么写的,也没有其他特殊的配置,为什么那个项目能优先记载这个配置呢?  查资料说是因为增加了default这个servlet配置,但感觉解释的不够通透,不能完全理解,希望各位大神指点迷津.

另外,从application来说,使用WebApplicationContextUtils对象时,发现它有findWebApplicationContext,getRequiredWebApplicationContext,getWebApplicationContext,initServletPropertySources,registerEnvironmentBeans,registerWebApplicationScopes等方法

通过查阅相关资料,总结如下

findWebApplicationContext实际上最终也是调用getWebApplicationContext方法,来获取webapplicationcontext

initServletPropertySources在spring classloader类初始化的时候被调用,用于初始化servlet配置参数

其他方面的总结后续再补充,敬请期待

转载于:https://my.oschina.net/u/2457585/blog/777714

关于SpringMvc实践的一些体会和总结相关推荐

  1. mysql实践周心得_实践周心得体会4篇

    实践周心得体会4篇 实践周心得体会1 艺术实践周就这么匆匆过去了,刚开始的时候还有些不适应,还没从十一长假的休闲娱乐中缓过劲来的时候,艺术实践周就那么如火如荼的展开了,那时候忽然就那么忙起来了,讲座. ...

  2. mysql实践周心得_实践周心得体会

    实践周心得体会 实践周心得体会(一) 这次的人任务是拍片,分别要求是一个新闻片一个专题片.我们组只有5个人,分别是,高X 冯XX 陈XX 金X 和我,可以说人尽其用. 我们很早就讨论策划方案,并在网上 ...

  3. 大学生python心得1000字_大学生社会实践报告心得体会范文1000字(精选4篇)

    大学生社会实践报告心得体会范文1000字(精选4篇) 紧张而又充实的社会实践结束了,大家这段时间一定收获不少吧!为此需要认真地写实践报告了.你知道写实践报告需要注意哪些问题吗?下面是小编收集整理的大学 ...

  4. mysql实践周心得_实践周心得体会范文

    实践周心得体会范文 当我们经过反思,对生活有了新的看法时,有这样的时机,要好好记录下来,这样能够让人头脑更加清醒,目标更加明确.相信许多人会觉得心得体会很难写吧,下面是小编帮大家整理的实践周心得体会范 ...

  5. Matlab实践课心得体会,实验心得体会4篇

    实践是检验真理唯一的标准,当想要检验自己的所学时一需要做实验来检验.下面是由出国留学网小编为大家整理的"实验心得体会四篇",仅供参考,欢迎大家阅读. 篇一:实验心得体会 大学数学实 ...

  6. linux实践感悟与体会100字,掌上综素b5学科时间活动心得体会50字

    掌上综素b5学科时间活动心得体会50字通用版是一款很不错的学科教育平台,为大家准备的教育类的资讯非常全面,在平台中的相关课程非常多,各类课程资源都可以找到! 掌上综素b5学科时间活动心得体会50字通用 ...

  7. 计算机设计应用实践体会,信息技术教学实践应用心得体会

    第1篇:信息技术应用心得体会 通过这学期的网上研修学习,使我进一步了解了信息技术这一门科目.在各个工作领域中,每个职业都离不开信息技术.随着计算机.多媒体.现代通讯网络为代表的信息技术的迅猛发展,信息 ...

  8. Matlab实践课心得体会,学习matlab的一点心得体会

    1.前言 2.matlab的一些特点 3.学习matlab心得体会 4.matlab的一些资源 1.前言 我接触Matlab的时间比较长了,最开始是在大学里面的数学实验课上了解了一些,学了些基础的命令 ...

  9. 学科实践活动感悟50字_初中学科实践活动心得体会50字

    教案通常又叫课时计划,包括时间.方法.步骤.检查以及教材的组织等.那么教师是怎么设计教案的呢?下面是小编分享给大家的初中数学实践活动教案的资料,希望大家喜欢!初中数学实践活动教案一教学目标1.会通过列 ...

最新文章

  1. R语言ggplot2可视化:ggplot2可视化直方图(histogram)并在直方图的顶部外侧(top upper)或者直方图内部添加数值标签
  2. 解决AttributeError: module ‘tensorflow_core._api.v2.config‘ has no attribute ‘experimental_list_device
  3. PAT-乙级-1021. 个位数统计 (15)
  4. java代码的运行顺序_java中的代码块执行顺序
  5. win10java怎么运行_win10系统电脑怎样才可以运行Java开发
  6. 信息学奥赛一本通(2038:【例5.5】最大数位置)
  7. Spring中事务使用
  8. 天池csv转成grt代码里的luna的csv,pandas库来操作csv文件(pd.DataFrame,pd.concat,pd.Series,to_csv等)实现
  9. 2017ICPC北京 J:Pangu and Stones(区间DP)
  10. Web 设计师的 50 个超便利工具[下]
  11. 关于jesd204B调试总结
  12. (已更新)短视频去水印解析客户端小程序源代码
  13. Refresh PDB
  14. nodejs ffi调用C++dll动态库 ffi调用语法
  15. android 百度地图语音播报,百度地图APP中的语音播报如何打开或关闭
  16. 银行利率bp是什么意思,基准利率bp是什么意思
  17. 2、面向对象的思维(与结构化思维比较)
  18. laravel api生成接口文档
  19. 微信小程序-动态验证码
  20. pytorch深度学习框架--gpu和cpu的选择

热门文章

  1. Wp keyword link 标签自动内链/文章关键词内链 WordPress插件
  2. linux的xampp单独启动mysql,linux的xampp重要的文件和目录
  3. ElementUI table组件,表格组件,单击单元格可编辑逻辑
  4. 合同电子档备份-NXCRM客户管理系统v2.2.5
  5. 多站合一音乐搜索神器网站源码
  6. 使用C#登录带验证码的网站
  7. 设计师必读的15个响应式网页设计教程
  8. Linux:十条为系统管理员节省时间的命令
  9. ORB-SLAM2介绍(1)
  10. 四窗口卖票 自己的票