springMVC入门(一)------springMVC基本概念与安装
springMVC简介
springMVC是一个基于MVC的web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。
springMVC安装
本例中使用Maven进行springMVC的jar包管理
一、建立Maven项目
二、pom.xml的配置
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springmvc</groupId>
<artifactId>springMVC</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>springMVC Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>springMVC</finalName>
</build>
</project>
由于接下来对springMVC的配置需要对其架构有一定认识,因此先对springMVC的架构进行简单介绍
springMVC架构
一、基本组成:
由于springMVC基本运行环境的搭建需要对springMVC的各个组件进行配置,因此在学习之前需对springMVC的基本组件有一定认识。
1、前端控制器DispatcherServlet
作用:接受请求,响应结果,相当于转发器
2、处理器映射器HandlerMapping
作用:根据请求的URL查找Handler
3、处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以正确执行Handler
4、处理器Handler
由程序员,按照HandlerAdapter开发
5、视图解析器View Resolver
作用:进行视图解析,根据逻辑视图名解析成真正的视图(View)
6、视图View
作用:View是一个接口,其实现支持不同的View类型(jsp、freemarker、pdf等等)
57ea9e7edeebd5ee2ec0cf27313c5fb6__2.JPG
二、处理流程:
1、发起请求到前端控制器(DispacherServlet)
2、前端控制器请求HandlerMapping查找Handler
可以根据XML配置或注解配置
3、处理器映射器HandlerMapping向前端控制器返回Handler
4、前端控制器调用处理器适配器执行Handler
5、处理器适配器执行Handler
6、Handler执行完成后给适配器返回ModelAndView
7、处理器适配器向前端控制器返回ModelAndView
8、前端控制器请求视图解析器进行视图解析
根据逻辑视图名解析成真正的视图
9、视图解析器向前端控制器返回View
10、前端控制器进行视图渲染
填充模型数据
11、前端控制器响应用户请求