`

spring mvc 跟上下文以及子上下文的初始化过程

 
阅读更多

最近对spring兴趣高涨,刚好,一个SSI框架的项目落地,空闲一段时间,索性看看spring mvc.

 

Spring mvc请求调用模型

 

spring mvc

一。spring  mvc 的配置起点  - web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3.1.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用","号分隔 -->
  <context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!--Spring ApplicationContext 载入 -->
  
  <context-param>     
 	<param-name>webAppRootKey</param-name>      
 	<param-value>spring_mvc_xml.root</param-value> 
  </context-param>
  <!-- 开一条watchdog线程每3秒扫描一下配置文件的变化; -->
  <context-param>
      <param-name>log4jRefreshInterval</param-name>
      <param-value>3000</param-value>
 	</context-param>
  <context-param>   
 	<param-name>log4jConfigLocation</param-name>   
 	<param-value>/WEB-INF/classes/log4j.properties</param-value>
  </context-param>
  <listener>   
 	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener> 

  <servlet>
        <servlet-name>webUrl</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>  
        	<param-name>contextConfigLocation</param-name>  
        	<param-value>classpath:/com/wsg/conf/web/webUrl-servlet.xml</param-value>  
    	</init-param>  
    	<load-on-startup>1</load-on-startup> 
    </servlet>
    <!-- 拦截所有以do结尾的请求 -->
    <servlet-mapping>
        <servlet-name>webUrl</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    
    <listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

 作为项目初始化的第一步,在springMVC架构中最主要的两点:

   1.ContextLoaderListener

       该监听器主要负责整个项目根上下文的初始化,并保存至ServletContext,建立整个项目的ioc体系。

    其中的初始化流程如下图:

  

 

   2.DispatcherServlet

      该servlet配置主要负责spring mvc里的子上下文的初始化。

     包括相应的MVC bean对象:

         国际化支持:LocalResolver

         request映射:HandlerMappings

返回视图的生成:Viewresolver

         等 。。。。。。。

   初始化流程如图:

分享到:
评论

相关推荐

    springmvc spring 两套上下文问题

    在Spring MVC和Spring框架的整合应用中,常常会遇到两套上下文的问题。Spring MVC是Spring框架的一个模块,主要用于处理Web请求,而Spring则提供了一个更广泛的IoC(Inversion of Control,控制反转)和AOP(Aspect ...

    spring mvc

    - **初始化**:读取配置文件并初始化 Spring 容器。 - **请求处理**:处理所有进入系统的 HTTP 请求。 - **响应生成**:根据处理结果生成最终的 HTTP 响应。 #### 五、Spring MVC 双亲上下文说明 在 Spring MVC 中...

    Spring MVC框架简介和使用

    - 接着调用 `FrameworkServlet` 的 `initServletBean()` 方法进行 Web 上下文初始化。 - 最后,`DispatcherServlet` 的 `onRefresh()` 方法被调用来初始化相关的策略组件,例如 HandlerMapping、HandlerAdapter 等...

    spring mvc项目创建

    5. **创建配置文件**:在 `src/main/webapp/WEB-INF` 目录下,创建 `servlet-context.xml`,这是 Spring MVC 的应用上下文配置文件。在这里,你会定义视图解析器、模型-视图对、处理器映射器等。例如,配置一个 ...

    Spring,Spring MVC所需的jar包

    2. **spring-context-4.1.5.RELEASE.jar**:Spring上下文模块,提供了与应用程序环境相关的服务,如国际化、事件传播、资源访问以及bean的生命周期管理。它扩展了核心容器(由spring-core和spring-beans组成),增加...

    spring mvc中启动netty

    - **高性能**:Netty基于NIO,能更好地处理大量并发连接,减少了线程上下文切换的开销。 - **异步处理**:Netty的事件驱动模型使得处理请求和响应可以异步进行,提高了吞吐量。 - **灵活性**:Netty允许自定义...

    Servlet JSP Spring MVC初学指南(alin书签).pdf

    3. **Spring MVC入门**:理解DispatcherServlet的作用,配置Spring MVC的上下文和组件扫描,以及配置视图解析器。 4. **Model-View-Controller**:了解MVC模式的工作原理,如何创建模型、控制器和视图。 5. **请求...

    spring2.0MVC+spring2.5MVC+portletMVC

    2. **portlet上下文**:与Servlet上下文类似,portlet上下文提供了portlet特有的配置和资源。 3. **portlet间通信**:通过PortletSession和PortletPreferences,portlet可以共享数据或设置用户偏好。 4. **portlet...

    spring MVC要注意的地方

    Spring MVC 是一个强大的Java web应用程序开发框架,它简化了基于模型-视图-控制器(MVC)架构的应用程序构建过程。在使用Spring MVC时,有若干关键点需要注意,以确保高效、稳定和易于维护的代码。 1. **配置**: ...

    activiti、spring mvc 基础web项目

    在项目初始化阶段,我们需要设置Spring MVC的配置文件,配置DispatcherServlet、视图解析器以及Spring的上下文加载。同时,我们需要引入Activiti的相关依赖,如activiti-engine、activiti-spring等,以确保能够正确...

    spring mvc注解实例

    2. `&lt;listener&gt;`:配置了 `ContextLoaderListener` 监听器,该监听器会在应用启动时加载 `contextConfigLocation` 指定的配置文件,初始化 Spring 的根应用上下文。 3. `&lt;servlet&gt;`:定义了一个名为 `spring` 的 ...

    Spring MVC Helloworld实例

    4. **配置Spring MVC上下文**:在Spring的配置文件(如`servlet-context.xml`)中,我们需要配置视图解析器和其他可能的bean。 5. **运行应用**:部署应用到服务器,访问`http://localhost:8080/yourapp/hello`,你...

    spring mvc 入门介绍

    - 创建应用上下文配置文件 applicationContext.xml,用于初始化 Spring 容器。 **2. 创建登录页面 (Login.jsp)** - 使用 HTML 表单收集用户的输入信息(用户名和密码)。 - 设置表单的 action 属性指向“login....

    Spring mvc + Spring + Spring jdbc 整合 demo.rar

    - 配置Web.xml文件,设置DispatcherServlet的初始化参数和监听器,以便加载Spring上下文。 - 编写Controller,处理HTTP请求,并调用Service完成业务逻辑。 5. **项目源码分析**:在压缩包中的项目源码,我们可以...

    10 扩展之Spring MVC中如何实现国际化i18n慕课专栏1

    1. 应用上下文(ApplicationContext)启动时,初始化`MessageSource`。`AbstractApplicationContext`在启动时调用`initMessageSource`方法,这会创建并配置`ResourceBundleMessageSource`实例。 2. 当收到请求时,...

    Spring Mvc 应用Jar包

    总之,这个压缩包为Spring MVC开发提供了一站式的解决方案,包括必备的库和源代码,简化了项目初始化阶段的工作。开发者只需要根据具体需求进行适当的配置和编码,即可快速搭建起一个功能完善的Spring MVC应用。

    spring MVC morphia mongo 整合的例子

    通常使用Mockito和Spring Test来模拟依赖和运行应用上下文。 10. **部署和运行**:最后,了解如何配置Web服务器(如Tomcat)或应用服务器(如Jetty)以运行这个整合的Spring MVC应用,以及如何连接到MongoDB服务。 ...

    Spring MVC(empty).zip

    - `web.xml`: 配置DispatcherServlet,初始化Spring MVC的上下文。 - `applicationContext.xml`: 定义Spring的bean,包括服务、DAO、数据源等。 - `spring-mvc.xml`: 配置Spring MVC的相关设置,如视图解析器、...

    Java Web 案例实践,基于(spring,spring mvc,hibernate)框架实现的

    在这个案例实践中,你将会看到如何配置这三个框架,从初始化Spring上下文,到设置Spring MVC的DispatcherServlet,再到配置Hibernate的数据源和实体映射。你将学习到如何在Spring中声明和使用Service层,这些Service...

    spring mvc中文教程

    1. **配置DispatcherServlet**:在 web.xml 文件中配置 DispatcherServlet,指定初始化参数以加载 Spring 配置文件。 2. **定义控制器**:控制器类需要使用 `@Controller` 注解标记,方法上可以使用 `@...

Global site tag (gtag.js) - Google Analytics