SpringMVC构建
作者:互联网
一.SpringMVC简介
Model数据模型
View视图
Controller控制器
MVC是一种web应用架构,是一种代码设计思想
思想:将所有客户端请求全部交由控制器,由控制器将其分发并将结果响应给客户端
2.常见MVC框架
使用原生Servlet实现MVC,
*配置比较复杂
*数据处理太麻烦
实际开发中一般都会使用MVC框架,如Struts1,struts2,SpringMVC等
对比:
*效率方面:Struts1>SpringMVC>Struts2
struts2是多例的,效率低
Struts1和SpringMVC是单例的,两者效率基本差不多
*配置方面:SpringMVC>Struts2>Struts1
3为什么要使用SpringMVC
*使用注解配置替代xml配置,更简单
*效率高,单例的
*跨站好,用户自定义
*SpringMVC和Spring无缝衔接
二SpringMVC工作原理
1.流程图
2.执行过程
分为六步:
*DispatcherServlet
它是SpringMVC核心控制器,前端控制器,主要作用是用来分发
*HandleMapping
叫做映射处理器,根据请求url映射到具体的处理Handler
Handler就是Controller层的实现类,也称为Action或Controller
*HandlerAdapter
适配器,用来适配不同的处理器Handler
处理器有两种实现方式:实现接口,基于注解,所以执行之前需要先适配
*Handler
处理器:执行处理具体业务,并产出数据模型Model和视图View
Handler会将数据模型Model和视图View封装ModelAndView对象并返回
*ViewResolve
视图解析器:根据视图名解析为具体的视图,一般多为jsp页面,然后封装为View对象
*View
视图:使用具体的视图技术进行渲染,结合Model展示数据
视图有很多种形式:jsp,freemarker,velocity,excel,pdf等
三.第一个SpringMVC程序
1.添加jar包
springMVC包:1个,spring-webmvc
Ioc包:4个,sprng-core,spring-beans,spring-context,spring-expression
aop包 :3个,spring-aop,sping-aspects
javaee包:3个,jsp-api,jstl,javax.servlet-api
web包:spring-web
<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.yyp</groupId> <artifactId>springMVC</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springMVC Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- 整合spring-web包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.21</version> </dependency> <!-- 整合springmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version> </dependency> <!--整合spring-ioc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.20</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.3.20</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.20</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>5.3.20</version> </dependency> <!-- spring-aop的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>5.3.19</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>5.3.20</version> </dependency> <!-- 整合spring-web包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.21</version> </dependency> <!-- 整合java EE的包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>springMVC</finalName> </build> </project>
2配置过程:
1.配置DispatcherServlet核心控制器(在web.xml中配置)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>Archetype Created Web Application</display-name> <!-- 1.配置DispatcherServlet:核心控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.aspringframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
标签:5.3,SpringMVC,spring,视图,构建,springframework,org 来源: https://www.cnblogs.com/miwaiwai/p/16403864.html