【Spring框架】SpringMVC
程序开发
2023-09-03 21:37:20
目录
什么是Spring MVC
Spring MVC 特性:
1.Spring MVC 是一个Web框架。
2.Spring MVC 是基于Servlet API 构建的。
MVC是Model View Controller 的缩写,它是软件工程中的一种软件框架模式,它把软件系统分为模型、视图和控制器三个基本部分。
MVC执行流程:
1.用户的请求首先先到Controller。
2.Controller将请求转发给Model。
3.Model处理业务并将数据结果给Controller。
4.Controller会将数据给View引擎。
5.View转换数据生成给最终用户。
MVC 是⼀种思想,⽽ Spring MVC 是对 MVC 思想的具体实现。
现在绝⼤部分的 Java 项⽬都是基于 Spring(或 Spring Boot)的,⽽ Spring 的核⼼就是 Spring MVC。
实现客户端和程序之间的“连接”
1.1 @RequestMapping
@RequestMapping是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的。
1.2@GetMapping
@GetMapping:实现HTTP连接,但只支持GET类型的请求
1.3@PostMapping
@PostMapping:实现HTTP连接,但只支持POST类型的请求
获取参数
2.1.1 获取单个参数
2.1.2 获取多个参数
2.1.3 获取对象
package com.example.demo.model;import lombok.Data;@Data
public class User {private int id;private String name;private String password;private int age;
}
package com.example.demo.controller;import com.example.demo.model.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/add")public User add(User user) {return user;}
}
2.2 后端参数重命名
2.3 @RequestBody 接收JSON对象
2.4 获取URL中参数@PathVariable
2.5 上传⽂件@RequestPart
2.6 获取Cookie/Session/header
获取Cookie
/*** 获取 Cookie* @param ck* @return*/@RequestMapping("/getcookie")public String getCookie(@CookieValue("java")String ck) {return ck;}
获取Session
/*** 获取 Session** @param name* @return*/@RequestMapping("/get_sess")public String getSess(@SessionAttribute(required = false, value = "SESSION_KEY") String name) {return name;}
获取header
@RequestMapping("/header")
@ResponseBodypublic String header(@RequestHeader("User-Agent") String userAgent) {return "userAgent:"+userAgent;
}
返回数据
请求转发或请求重定向
forward VS redirect
return 不但可以返回⼀个视图,还可以实现跳转,跳转的⽅式有两种:
forward 是请求转发;
redirect:请求重定向。
// 请求重定向
@RequestMapping("/index")
public String index(){return "redirect:/index.html";
}// 请求转发
@RequestMapping("/index2")
public String index2(){return "forward:/index.html";
}
标签:
上一篇:
android使用ant重新编译打包apk
下一篇:
相关文章
-
无相关信息