SSM学习8:SpringMVC请求与响应
创始人
2024-12-07 21:07:58

设置请求映射路径

设置配置
config/ServletContainersInitConfig.class

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {      protected Class[] getServletConfigClasses() {         return new Class[]{SpringMvcConfig.class};     }      protected String[] getServletMappings() {         return new String[]{"/"};     }      protected Class[] getRootConfigClasses() {         return new Class[0];     } } 

config/SpringMvcConfig.class

@Configuration @ComponentScan("com.itheima.controller") public class SpringMvcConfig { } 

设置映射路径

@Controller //类上方配置的请求映射与方法上面配置的请求映射连接在一起,形成完整的请求映射路径 @RequestMapping("/user") public class UserController {     //请求路径映射     @RequestMapping("/save")     @ResponseBody     public String save(){         System.out.println("user save ...");         return "{'module':'user save'}";     }     //请求路径映射     @RequestMapping("/delete")     @ResponseBody     public String delete(){         System.out.println("user delete ...");         return "{'module':'user delete'}";     } } 

@RequestMapping用于设置当前控制器方法的请求访问路径;如果设置在类上,则是当前控制器方法请求访问路径的前缀

请求

不区分get和post请求

普通参数

 //普通参数:请求参数与形参名称对应即可完成参数传递  @RequestMapping("/commonParam")  @ResponseBody  public String commonParam(String name ,int age){      System.out.println("普通参数传递 name ==> "+name);      System.out.println("普通参数传递 age ==> "+age);      return "{'module':'common param'}";  } 

请求参数名与形参名不同

//普通参数:请求参数名与形参名不同时,使用@RequestParam注解关联请求参数名称与形参名称之间的关系 @RequestMapping("/commonParamDifferentName") @ResponseBody public String commonParamDifferentName(@RequestParam("name") String userName , int age){     System.out.println("普通参数传递 userName ==> "+userName);     System.out.println("普通参数传递 age ==> "+age);     return "{'module':'common param different name'}"; } 

实体类

 //POJO参数:请求参数与形参对象中的属性对应即可完成参数传递  @RequestMapping("/pojoParam")  @ResponseBody  public String pojoParam(User user){      System.out.println("pojo参数传递 user ==> "+user);      return "{'module':'pojo param'}";  } 

实体类,json格式

//POJO参数:json格式  //1.开启json数据格式的自动转换,在配置类中开启@EnableWebMvc  //2.使用@RequestBody注解将外部传递的json数据映射到形参的实体类对象中,要求属性名称一一对应  @RequestMapping("/pojoParamForJson")  @ResponseBody  public String pojoParamForJson(@RequestBody User user){      System.out.println("pojo(json)参数传递 user ==> "+user);      return "{'module':'pojo for json param'}";  } 
@Configuration @ComponentScan("com.itheima.controller") //开启json数据类型自动转换 @EnableWebMvc public class SpringMvcConfig { } 

响应

返回文本

//响应文本数据  //返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解  @RequestMapping("/toText")  @ResponseBody  public String toText(){      System.out.println("返回纯文本数据");      return "response text";  } 

返回实体类

//响应POJO对象  //返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解  @RequestMapping("/toJsonPOJO")  @ResponseBody  public User toJsonPOJO(){      System.out.println("返回json对象数据");      User user = new User();      user.setName("itcast");      user.setAge(15);      return user;  } 

返回实体类集合

 //响应POJO集合对象  //返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解  @RequestMapping("/toJsonList")  @ResponseBody  public List toJsonList(){      System.out.println("返回json集合数据");      User user1 = new User();      user1.setName("传智播客");      user1.setAge(15);       User user2 = new User();      user2.setName("黑马程序员");      user2.setAge(12);       List userList = new ArrayList();      userList.add(user1);      userList.add(user2);       return userList;  } 

上一篇:贪心+背包

下一篇:iphone5s越狱后发热

相关内容

热门资讯

原创 百... 5 月 13 日,Create2026 百度 AI 开发者大会在北京盛大启幕。百度创始人李彦宏在会上...
英伟达CEO黄仁勋称五年前的G... IT之家 5 月 13 日消息,在 AI 需求进入爆发周期的背景下,GPU 成为最紧缺的算力资源之一...
埃尔温·薛定谔:物理学最不情愿... 今天,我们面对的是一位巨匠。 他叫埃尔温·薛定谔。 在翻开他的故事之前,我想请你做一件事:想象一个盒...
破解40万年前直立人“分子密码... 中新网北京5月13日电 (记者 孙自法)作为第一个走出非洲并广泛扩散至亚欧大陆及东南亚的关键古人类,...
前华为具身智能“1号员工”领衔... 5月13日消息,深圳欧拉万象科技有限公司(下称“欧拉万象”)宣布完成数亿元人民币融资,由招商局创投领...