剖析springmvc之HelloWorld

上篇文章我们搭建了springmvc,也成功运行。这篇文章,我们来分析下原理。

通过在 web.xml 配置DispatcherServlet前端控制器, web 容器 启动时加载, 并且进行初始化。来看下DispatcherServlet的类结构。

因为DispatcherServlet最终继承了HttpServlet,所以在web容器启动的时候会调用init()方法。

其中 initServletBean()是HttpServletBean提供给子类扩展的FrameworkServlet继承了HttpServletBean实现了initServletBean()这个方法,对web上下文进行初始化。并且提供了onRefresh(wac)方法给子类实现。

initWebApplicationContext()方法调用了onRefresh(wac)方法,DispatcherServlet继承了FrameworkServlet实现了onRefresh()这个方法。来看下org.springframework.web.servlet.DispatcherServlet类的实现方法:

从如上代码可以看出,DispatcherServlet启动时会进行我们需要的Web层Bean的配置,如HandlerMapping、HandlerAdapter等,而且如果我们没有配置,还会给我们提供默认的配置。

从如上代码我们可以看出,整个DispatcherServlet初始化的过程主要做了如下两件事情:

1、初始化Spring Web MVC使用的Web上下文,并且可能指定父容器为(ContextLoaderListener加载了根上下文);

2、初始化DispatcherServlet使用的策略,如HandlerMapping、HandlerAdapter等。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 22:46:10

剖析springmvc之HelloWorld的相关文章

SpringMVC——从HelloWorld

学习SpringMVC——从HelloWorld开始 前言: 时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌.这是一次全民的狂欢,一场视听盛宴,带给我们不仅是熠熠生辉的金牌,更传递出的是一种女排精神. 每每得分的时候,总能看到球员们歇斯底里的咆哮和欢呼,因为每一分都来的太不容易. 其实码农也是如此,每每解决掉一个bug的时候,内心的舒畅和激动,好似经历了没有尽头的爬坡,几度已经快精疲力尽或是达到了精神崩溃的边缘之后,陡然迎来了下坡,这种

SpringMVC(一) HelloWorld

学习新东西的的第一个程序——HelloWorld,以下是SpringMVC的HelloWorld 用MAVEN创建WEBAPP,并导入依赖. 这是pom.xml: <dependencies> <dependency> <groupId>${springframework.gid}</groupId> <artifactId>spring-core</artifactId> </dependency> <depend

SpringMvc入门 -----HelloWorld

1. 导入需要的架包: 2. 配置web.xml,添加Servlet <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation&l

学习SpringMVC——从HelloWorld开始

前言: 时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌.这是一次全民的狂欢,一场视听盛宴,带给我们不仅是熠熠生辉的金牌,更传递出的是一种女排精神. 每每得分的时候,总能看到球员们歇斯底里的咆哮和欢呼,因为每一分都来的太不容易. 其实码农也是如此,每每解决掉一个bug的时候,内心的舒畅和激动,好似经历了没有尽头的爬坡,几度已经快精疲力尽或是达到了精神崩溃的边缘之后,陡然迎来了下坡,这种感觉好比赛场上女将们得分后已经无法用言语来表达心情,而

Springmvc的helloworld实例

1.    新建package Src->new->other->package 输入包名:org.tgb.web.controller 点击"finish" 2.    新建类 鼠标点击上面新建的包,new->class,输入类名:HelloWorldController 点击"finish" 3.    编写程序 原始的类如下: package com.tgb.web.controller; public class HelloWorld

springmvc之HelloWorld

首先来看看springmvc工程的项目结构,采用maven构建. POM配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/

MyEclipse建立SpringMVC入门HelloWorld项目

一.首先,建立空的web project项目: 1. 2. 3. 二.其次,导入先关jar包 1.将jar包导入SpringMVCHelloWorld\WebRoot\WEB-INF\lib目录下 三.接下来修改web.xml文件,在web中,指定我们的DispatcherServlet.(从这里进入SpringMVC的可控范围). 1. 2.web.xml中的内容如下: <?xml version="1.0" encoding="UTF-8"?> &l

springmvc 之 helloworld

构建SPRINGMVC主要分为几个部分(大体方式为创建并配置2个XML文件.一个JAVA文件及一个JSP文件). 一.创建动态JAVA WEB项目  //创建项目并导入JAR包. 二.创建并配置servlet文件 //创建并配置一个XML文件. 三.配置WEB.XML文件 //配置一个XML文件. 四.编写JAVA JAVA文件代码 //创建并配置一个JAVA文件. 五.创建JSP页面,访问 //创建一个JSP文件. 一.创建动态JAVA WEB项目. 1.创建项目 file-new-dynam

SpringMVC之HelloWorld实例

1.1 Helloworld实例的操作步骤  1. 加入jar包 2. 配置dispatcherServlet 3. 加入Spring配置文件 4. 编写请求处理器 并表示为处理器 5. 编写视图 1.2 具体步骤 1)加入Jar包 2)配置dispatcherServlet的代码(web.xml文件) 1 <!-- 配置dispatcherServlet --> 2 <servlet> 3 <servlet-name>helloworld</servlet-na