什么是MVC
- 软件架构的思想 将软件按照模型,视图,控制器来划分
- Model 模型层 工程中的javabean 作用是处理数据
- 实体类Bean 存储业务数据 Student
- 业务处理Bean Service或Dao对象 处理业务逻辑和数据访问
- View 视图层 html和jsp等页面,与用户进行交互,展示数据
Controller 控制层 servlet 接受请求和响应浏览器
SpringMVC
为表述层开发提供的一整套完备的解决方案
- 表述层:前台页面和后台servlet
配置web.xml
注册SpringMVC的前端控制器DispatcherServlet,对浏览器的请求进行统一处理
扩展配置方式
<?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_4_0.xsd"version="4.0"><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC配置文件的位置和名称--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springMVC.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- 不能匹配.jsp的请求路径的请求--><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
创建请求控制器
创建springmvc的配置文件:springmvc.xml
测试helloworld
RequestMapping注解
@RequestMapping 注解
作用
- 类上 初始信息
-
value属性
value属性通过请求的请求地址匹配请求映射
- 是一个字符串类型的数据,可以匹配多个请求地址对应的请求
-
method属性的请求方式
满足请求方式(get或post)
-
派生注解
@GetMapping@PostMapping@PutMapping@DeleteMapping
params属性
-
headers属性
-
ant风格的路径
?任意的单个字符
- 任意的0个或多个字符
-
支持路径中的占位符
原始方式:/deleteUser?id=1
- rest方式:/deleteUser/1
```java @RequestMapping(“/testRest/{id}/{username}”) public String testRest(@PathVariable(“id”) String id, @PathVariable(“username”) String username){ System.out.println(“id:”+id+”,username:”+username); return “success”; }<a th:href="@{/testRest/1/admin}">测试路径中的占位符-->/testRest</a><br>
SpringMVC获取请求参数
通过ServletAPI获取
通过控制器方法的形参获取请求参数
RequestParam注解
- RequestParam(value,required)
