1、web应用启动从web.xml开始,首先创建一个全局的上下文(Context),名字叫ServletContext,可以理解为一间图书馆,或一个数据结构(如map,但是比map牛多了),整个结构类似图书馆--》书架--》计算机类书籍--》某一本书

2、listener监听器开始
<!--spring的配置-->
<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener>

<!--spring bean配置文件加载-->
<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>classpath*:conf/applicationContext*.xml</param-value>
</context-param>

来到ContextLoaderListener监听,开始初始化并创建一个根上下文叫ApplicationContext,它是用来加载或者卸载spring管理的beans的,监听器会将它放进ServletContext中key为"org.springframework.web.context.WebApplicationContext.ROOT"的attribute中

3、 servlet开始初始化(filter先不讲),DispatcherServlet是springMVC的入口
<!--spring MVC的配置-->
<servlet> 
   <servlet-name>springmvc</servlet-name> 
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
      <init-param> 
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:conf/springmvc-servlet.xml</param-value> 
      </init-param>
      <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern> 
</servlet-mapping>
 DispatcherServlet创建自己的上下文,叫WebApplicationContext,并绑定到根上下文,以他为父亲,WebApplicationContext管理它里面的handlers,controllers,它存放在"org.springframework.web.servlet.FrameworkServlet.CONTEXT."+(servletname)的attribute中,开始加载他的配置文件

4、关于springMVC配置文件名称及路径问题
(1)不指定,则默认需要在/WEB-INF/路径下创建一个文件名为[servlet-name]加后缀"-servlet"的配置文件,上述配置文件为
springmvc-servlet.xml,默认路径为/WEB-INF/springmvc-servlet.xml
(2)指定文件名及路径有两种情况
a、放在src下,则指定路径写为classpath:conf/springmvc-servlet.xml,这里classpath指发布目录中的WEB-INF/classes,conf在src下一级文件夹,xml名可自己指定
b、放在WEB-INF文件夹下但自己指定xml名,则要写明路径为/WEB-INF/xxx.xml

接下来是springmvc单独的配置文件

第一篇:spring+springMVC项目启动最终笔记(一web.xml)的更多相关文章

  1. 用Eclipse 搭建一个Maven Spring SpringMVC 项目

    1: 先创建一个maven web  项目: 可以参照之前的文章:  用Maven 创建一个 简单的 JavaWeb 项目 创建好之后的目录是这样的; 2: 先配置maven  修改pom.xml & ...

  2. Spring/SpringMVC在启动完成后执行方法

    在某些情况下,有可能你会有这种需求:在Spring/SpringMVC项目中,当Spring/SpringMVC启动完成后,你需要执行一个方法来完成某些事件(比如创建网站地图,比如从订阅Redis服务 ...

  3. 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean

    让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...

  4. spring boot 项目启动无任何反应

    遇到的问题 spring boot项目启动后无任何报错,ps有进程,nohub无日志 定位 更换jar包,问题依然存在,将jar包放到其他服务器,运行正常,排除打包问题 同服务器其他系统运行正常,但停 ...

  5. idea中添加web.xml配置文件与tomcat启动中遇到的web.xml文件找不到的问题

    1,如何在idea中向war项目中添加web.xml的配置文件 idea通过maven创建war项目时没有指定是webapp导致创建出来的项目没有webapp的文件夹.其实war项目中都是在" ...

  6. 利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?

    原文转自:http://blog.csdn.net/suyu_yuan/article/details/50947007 利用eclipse新建的Java Web项目没有部署描述符web.xml文件, ...

  7. Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览

    ​ ​本文是Spring Cloud专栏的第一篇文章,了解本篇文章内容有助于更好的理解后面文章 ​ 一.网站架构演变过程 1-1.传统架构 传统的SSH架构,分为三层架构 web控制层.业务逻辑层.数 ...

  8. SpringMVC——项目启动时从数据库查询数据

    SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样 ...

  9. 在Intellij Idea中使用Maven创建Spring&SpringMVC项目

    环境及版本 Jetbrains Intellij Idea 15.0.6 Spring 4.1.6 JDK 1.8.0_20 Tomcat 8 Windows 10 从 Maven archetype ...

随机推荐

  1. 自己的php框架

    spl_autoload_register('imooc::load');当我们new的类不存在,将触发括号里的方法. is_file()判断文件是否存在.

  2. 通过jquery获取页面信息

    获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document ...

  3. thinkphp url重写

    可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:大理石平台精度等级 [ Apache ] httpd.conf配置文件中加载了mod_rewrite.so模块 Al ...

  4. vue+webpack项目中px2rem的例子

    项目环境搭建此处省略,不再赘述,需要的请查阅相关资料. 本篇只介绍,如果在vue+webpack的项目中配置,把px自动转为rem 第一步安装   npm install   postcss-px2r ...

  5. 牛客多校第十场 F Popping Balloons 线段树维护稀疏矩阵

    题意: 给定一个稀疏矩阵,里面有若干个气球,让你横着开三枪,竖着开三枪,问最多能打爆多少气球,要求相同方向,相邻两枪必须间隔r. 题解: 横向记录每列有多少个气球,分别在哪行上. 然后把这个数据改造成 ...

  6. 暴力”注入Explorer

    暴力"注入Explorer                      pjf(jfpan20000@sina.com)         向一个运行中的进程注入自己的代码,最自然莫过于使用Cr ...

  7. Api:temple

    ylbtech-Api: 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtech.cnb ...

  8. Sublime Text Build 3207 x64 无法安装Package Control和插件

    两个问题的解决方法: 以下都是问题的解决,在本人电脑成功解决,还有就是在虚拟机上也成功解决,可以自行尝试下 . 测试电脑为win7-64位 问题1 : 安装Package Control失败 解决问题 ...

  9. 春节跳槽最新Java面试题及答案整理

    今天大部分码农同学已经上班了吧,最近也是跳槽人才流动的高峰期,拿了年终奖,找找更好的机会. 小编也面了几家公司了,回来整理下面经分享给大家做个参考.有很多,暂时先分享20道,后续更多会陆续整理分享出来 ...

  10. jdbc_mysql----interset