准备工作
1.导入json依赖
点击查看代码<!--jackson依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
2.声明配置类
点击查看代码
@Configuration
@ComponentScan("com.wind")
@EnableWebMvc // 生成 handlermapping handlerAdapter对象 且为handlerAdapter配置json转换器 JSON--实体类 进行转换
public class MvcConfig {
}
3.ioc容器初始化
点击查看代码public class SpringMvcInit extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { return new Class[0]; }
@Override protected Class<?>[] getServletConfigClasses() { return new Class[]{MvcConfig.class}; } @Override //dispatcherServlet拦截地址 protected String[] getServletMappings() { return new String[]{"/"}; }
}
cookie
@Controller @RequestMapping("cookie") @ResponseBody public class CookieController {
@RequestMapping("get") //请求地址 获取cookie public String getCookie(@CookieValue(value = "webCookie") String cookie){ return cookie; } @RequestMapping("save") //请求地址 为客户端设置一个cookie public String setCookie(HttpServletResponse response){ //原生对象 Cookie cookie = new Cookie("webCookie","v1"); response.addCookie(cookie); return "cookie已创建"; }
}
JSON数据
@Controller @RequestMapping("json") @ResponseBody public class JsonController {
/* 接收 JSON 数据 数据请求体 {id,name} 1.先创建一个 实体类接收数据 2.指定 接收数据方法 的形参为 请求体类型 @RequestBody 3.记得将 该类 加入到配置类 的包扫描中 4.导入 json 依赖 5.在配置类中 @EnableWebMvc 为 handlerAdapter 配置json转换器 */ @PostMapping("data") public String jsonData(@RequestBody Person person){ System.out.println("person = " + person); return person.toString(); }
}
获取请求头信息
@Controller @RequestMapping("headers") @ResponseBody public class Header {
@RequestMapping("head") //获取请求头信息 public String getHeader(@RequestHeader("HOST")String host){ return "host = " + host; }