Java全栈学习笔记43
## MVC
代码结构的设计思想 Model - View - Controller 模型-视图-控制器
模型 --- 基本不变 实体类,Dao层
视图 --- 页面
控制器 --- 控制程序的走向 Main
各组之间相互配合,组件内各司其职
Model1
JSP + JavaBean
Model2
jsp + JavaBean + Servlet
MVC 框架
Struts
Spring MVC
# SpringMVC
注解
@ResponseBody 标注当前处理请求的方法是存在响应主体,并非视图
@RestController 标注当前类为控制器类,且每个处理请求的方法都是返回响应主体,并非视图
@RequestMapping
value 指定路径
name 指定路径,但是不能和value同时使用,否则失效
method RequestMethod 是一个枚举类。 规定当前方法只处理指定方法的请求
params 指定请求中必须包含指定的参数。如果一级路径中存在后缀名,也可以使用该属性作为路径指向
consumes 指定请求的内容类型。(content-type)的值
@PathVariable 路径参数
@MatrixVariable
window.onload = function(){
const xhr = new XMLHttpRequest();
xhr.open("get","hello3;userName=admin;age=12,13,14")
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
console.log(xhr.responseText)
}
}
/* xhr.setRequestHeader("content-type","application/json") */
xhr.setRequestHeader("token","admin123");
xhr.send();
}
@RequestMapping(value="/hello3;{userName};{age}")
public String hello3(@MatrixVariable("userName") String user,@MatrixVariable("age") List<Integer> age) {
return "hello------------------" + user + "-----> age:"+age;
}
@RequestParam 相当于 request.getParameter()
required :是否必传
defaultValue: 如果没传入参数,可以使用默认值
@RequestBody 负责接收json数据,content-type:application/json
