SSM学习8:SpringMVC请求与响应

avatar
作者
猴君
阅读量:0

设置请求映射路径

设置配置
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<User> toJsonList(){      System.out.println("返回json集合数据");      User user1 = new User();      user1.setName("传智播客");      user1.setAge(15);       User user2 = new User();      user2.setName("黑马程序员");      user2.setAge(12);       List<User> userList = new ArrayList<User>();      userList.add(user1);      userList.add(user2);       return userList;  } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!