SpringMVC概述 :SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
springMVC涉及到的坐标
导入servlet坐标 这里一定要设置scope标签 否则将会报错
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
导入springMVC坐标 要与spring坐标一直 一般为5.2.10.RELEASE
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
第一步先创建一个控制器 等同于表现层 =controller
@Controller 表示收springmvc控制识别 @RequestMapping("/save") 表示设置访问路径 @ResponseBody表示响应数据 这里响应数据格式与参数相同
第二部创建配置类
@Configuration 表示这是一个springMVC配置文件 @ComponentScan("com.itheima.controller")表示要扫描的文件路径
第3步 创建Tomcat的Servlet容器配置注意这里要继承AbstractDispatcherServletInitializer 重写里面的三个方法 这里root表示数据层和业务逻辑层 servlet 表示表现层 getservlet表示要获取的方法 这里获取所有方法
后来我们对此方法进行了处理用更加简便的方式如下图继承AbstractAnnotationConfigDispatcherServletInitializer
springmvc设置请求映射路径
设置映射路径 首先我们在开头就定义好一个路径这样的话就不会与其他表现出发生重复找不到的情况
参数传递
这里先说一下 post请求中文乱码问题怎么解决
单个参数
多个参数
实体类参数传递
参数嵌套传递
数组类型参数传递
list集合传递 注意这里要使用@RequestParam注解 否则错误的原因是:SpringMVC将List看做是一个POJO对象来处理
用json格式传递数据 注意这里使用到@RequestBody注解 将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次
这里要导入json的坐标
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
同时要在springmvc配置文件中加入注解
日期类型参数传递 这里使用到注解@DateTimeFormat 注意如果这里格式不是默认情况的话需要自己再次进行设置
响应
Rest风格
REST即表现形式状态转换,它是一种软件架构风格,不是标准。简单概括就是通过使用同一个请求地址和不同的请求动作来区分对资源进行不同的操作,如GET用来做查询,POST用来做新增,PUT用来做修改,DELETE用来做删除。
RESTful是基于REST构建的API统称为RESTful。
这里我们直接书写最简便的格式 首先先定义好注解@RestController 告知这是一个rest风格的controller 然后定义好访问路径@RequestMapping("/books")
这里post请求用postmapping get请求用getmapping update用putmapping delete一致 如果有二级路径 那么在对应的方法上加上即可
这里我们重点说一下
这里总结一些spring中常见的注解以及相对于的意思
接下来我们重点讲了SSM整合【重点】
首先先将对应坐标导入
首先是springmvc的坐标 有这个坐标以后我们就不需要再次导入spring的坐标
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
导入sprin整合jdbc坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
导入spring 测试坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
导入mybatis坐标
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
导入spring整合mybatis坐标
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
导入mysql坐标
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
导入数据源坐标
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
导入测试坐标
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
导入servlet坐标 这里注意范围 <scope>provided</scope>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
导入json转换数据的坐标
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
最后导入tomcat插件
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
第一步把对应的模块都搭建好
![](/i/l/?n=22&i=blog/3001637/202210/3001637-20221014194902207-1625924138.png)
表现层数据封装
异常处理器【理解】
编写异常处理器
自定义项目系统级异常
自定义异常编码(持续补充
触发自定义异常
3.4 在异常通知类中拦截并处理异常![](https://common.cnblogs.com/images/loading.gif)
拦截器【理解】
【第一步】定义拦截器
【第二步】配置加载拦截器
标签:总结,springMVC,spring,ssm,导入,坐标,mybatis,org,servlet From: https://www.cnblogs.com/yanxuezhou/p/16792850.html