一..概述
框架:是一个结构,框架提供了很多的勒,由框架控制每个类调用的过程流程
SSM框架里,第一个S就是指SpringMVC,是一个框架
是spring框架的一个后续产品,遵循了MVC的设计模式,保证了程序间的松耦合
pringMVC主要作用:1,接收请求(解析请求参数)2,做出响应
MVC的设计模式:
M是modle模型,用来封装数据
V是view试图,用来展示数据据
C是Controller控制器,用来控制浏览器如何请求,做出数据响应
好处:提高代码的复用性,松耦合
二:原理
1.前端控制器DispatcherServlet:当浏览器发送请求成功后,充当调度者的角色,负责调度每个组件
2.处理映射器HandlerMapping:
根据请求的URL路径,找到能处理请求的类名和方法名
url:http://localhost:8080/hello
3.处理适配器HandlerAdaptor
正式处理业务,并把返回的结果交给DispatcherServiet
4.视图解析器ViewResolver:
找到正确的,能展示数据的视图,准备展示数据
5,视图渲染View
展示数据:
三:入门案例
1.导入jar包(被springboot整合好了)
2.准备一个类,补充方法
3,准备一个网页
在父工程下面file->project->modle->maven,在父包下面
@RestController//标记着这个类是controller的控制器+接收请求e
4,测试
四,SpringMVC的响应
SpringMVC可以接受请求,和做出响应数据
一,概述
请求方式8种,常见的就是get,post
restful风格的数据,用来简化了get的写法
一2.测试
2.尽量使用引用类型,可以赋予初始值,规避一些问题
3.<a href="http://localhost:8080/car/get/100/张三">解析get的参数</a>//restfui解析参数
通过花括号获取地址栏中变量的值,再通过@Pathvariable获取花括号里变量的值
五,处理post提交的参数
1.准备前端页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
/* 输入框 */
.a{
width: 250px;
height: 20px;
font-size: 16px;
}
/*保存 按钮 */
input[type="submit"]{
/* 背景色 字的颜色 边框颜色 宽度 高度 */
background-color: #0000FF;
color: white;
border-color: #0000FF;
width: 55px;
height: 28px;
}
/*取消按钮 */
input[type="button"]{
background-color: #DC143C;
color: white;
border-color: #DC143C;
width: 55px;
height: 28px;
}
</style>
</head>
<body>
<!-- <a href="http://localhost:8080/car/get?name=张三">解析get的参数</a> -->
<a href="http://localhost:8080/car/get2/100/张三">解析get的参数</a>
<a href="http://localhost:8080/car/get3/101/黄色/T8/19999">解析get3的参数</a>
<a href="http://localhost:8080/car/get4/1000/张三/黄色/T9/2999">解析get4的参数</a>
<form method="post" action="http://localhost:8080/stu/add">
<table >
<tr>
<td>
<h2>学生信息管理系统MIS</h2>
</td>
</tr>
<tr>
<td>姓名</td>
</tr>
<tr>
<td>
<input class="a" type="text" placeholder="请输入姓名....." name="name"/>
</td>
</tr>
<tr>
<td>年龄</td>
</tr>
<tr>
<td>
<input class="a" type="number" placeholder="请输入年龄....." name="age"/>
</td>
</tr>
<tr>
<td>
性别:(单选框)
<input type="radio" name="sex" value="1" checked="checked"/>男
<input type="radio" name="sex" value="0"/>女
</td>
</tr>
<tr>
<td>
爱好:(多选)
<input type="checkbox" name="hobby" value="ppq" checked="checked"/>乒乓球
<input type="checkbox" name="hobby" value="ps"/>爬山
<input type="checkbox" name="hobby"/ value="cg">唱歌
</td>
</tr>
<tr>
<td>
学历:(下拉框)
<select name="edu">
<option value="1">本科</option>
<option value="2">专科</option>
<option value="3">博士</option>
</select>
</td>
</tr>
<tr>
<td>
入学日期
<input type="date" name="intime" />
</td>
</tr>
</table>
<tr>
<td>
<input type="submit" value="保存" />
<input type="button" value="取消" />
</td>
</tr>
</form>
</body>
</html>
2.准备StudentController
//报错400,需要把String的日期转为Date日期 //pattern属性规定了日期的格式 @DateTimeFormat(pattern = "yyyy-MM-dd") private Date intime;
3.利用jdbc把接受的参数入库
操作cgb2106的库,创建tb_student表
CREATE TABLE tb_students(
id INT PRIMARY KEY AUTO_INCREMENT
NAME VARCHAR(50),
age INT,
sex INT,
hobby VARCHAR(100),
edu INT,
intime DATE
)
修改pom.xml文件,添加jar包的坐标
v <!--添加jdbc的jar包依赖-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
</dependencies>
写jdbc的代码