前言
为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)
三、SpringMVC 请求与响应
1.postman工具简介
- postman是什么
- postman基本使用
- 下载地址
https://www.postman.com/https://www.postman.com/
- 注册登录
- 创建工作空间
- 切换工作空间
- 新建请求
- 保存请求
- 放大缩小窗口内容
- 编辑路径参数
2.设置请求映射路径
- 问题描述:团队多人开发,每人设置不同的请求路径(不同的模块,相同的请求路径),冲突问题如何解决
@Controller public class UserController { @RequestMapping("/save") @ResponseBody public String save(){ System.out.println("user save ..."); return "{'info':'springmvc'}"; } }
@Controller public class BookController { //请求路径映射 @RequestMapping("/book/save") @ResponseBody public String save(){ System.out.println("book save ..."); return "{'module':'book save'}"; } }
- 解决方案:设置模块名作为请求路径前缀
- 当模块中方法较少的时候,可以直接在请求路径中加入模块名前缀
- 当模块中方法名较多的时候,在模块上统一加模块名访问前缀
- @RequestMapping详解
1.名称:@RequestMapping
2.类型:方法注解类注解
3.位置SpringMVC控制器方法定义上方
4.作用:设置当前控制器方法请求访问路径,如果设置在类上统一设置当前控制器方法请求访问路径前缀
5.属性:value(默认),请求访问路径,或访问路径前缀
6.范例:
3.编码环境准备
- pom.xml配置文件导坐标和tomcat插件
//servlet技术 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> //webmvc技术 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.10.RELEASE</version> </dependency>
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>80</port> <path>/</path> </configuration> </plugin>
- SpringMvc全局配置类
@Configuration @ComponentScan("org.example.controller") public class SpringMvcConfig { }
- 初始化SpringMVC环境(同Spring环境),设定SpringMVC加载对应的bean
//加载springmvc配置类,产生springmvc容器(本质还是spring容器) public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { return new Class[0]; } //加载指定配置类 protected Class<?>[] getServletConfigClasses() { return new Class[]{SpringMvcConfig.class}; } //设置由springmvc控制器处理的请求映射路径 protected String[] getServletMappings() { return new String[]{"/"}; } }
- 编写User实体类
//此处省略getter、setter和toString方法 public class User { private String name; private int age; private Address address; }
- 编写Address实体类
//此处省略getter、setter和toString方法 public class Address { private String province; private String city; }
- 编写UserController
//请求参数 @Controller public class UserController { @RequestMapping("/commonParam") @ResponseBody public String commonParam(){ return "{'module':'common param'}"; } }
- 配置tomcat启动运行
- 在postman中发送请求访问 localhost/commonparam
- 文件结构参考