SpringMVC-请求与相应

一、环境准备


    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided  //确定范围避免与tomcat冲突
    
    
      org.springframework
      spring-webmvc //启动spring内的webmvc
      5.2.10.RELEASE
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.0
    
  

  
    
      
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.1
        
          80
          /
          UTF-8  //此处是解决tomcat中文乱码问题
        
      
    
  

二、请求

1.设置映射路径

优化后的:可以到看,user和book类中都有save()方法,故应该在类上添加@RequestMapping()来区分两个类。

@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 save(){
System.out.println("user delete ...");
return "{'module':'user delete'}";
}
}
@Controller
@RequestMapping("/book")
public class BookController {
@RequestMapping("/save")
@ResponseBody
public String save(){
System.out.println("book save ...");
return "{'module':'book save'}";
}
}

2.get请求出现中文乱码 

添加环境准备中标签的 UTF-8  

SpringMVC-请求与相应_第1张图片

3.post请求出现乱码 

post请求需要配置过滤器,在ServletContainersInitConfig中

SpringMVC-请求与相应_第2张图片

4.五种请求参数

(1).普通参数

SpringMVC-请求与相应_第3张图片

    拓展应用:

@RequestParam("name")中定义的name可以把username当成name来传参

 SpringMVC-请求与相应_第4张图片

(2).POJO数据类型

其实就是传递对象

SpringMVC-请求与相应_第5张图片

(3).嵌套POJO类型参数

SpringMVC-请求与相应_第6张图片

SpringMVC-请求与相应_第7张图片

(4).数组类型参数

SpringMVC-请求与相应_第8张图片

(5). 集合类型参数

集合类型参数在形参接受时要用@RequestParam修饰。

原因::SpringMVC将List看做是一个POJO对象来处理,将其创建一个对象并准备把前端的数 据封装到对象中,但是List是一个接口无法创建对象,所以报错。

SpringMVC-请求与相应_第9张图片

知识点 

SpringMVC-请求与相应_第10张图片

5.JSON数据传输参数 

常见的json数据格式

SpringMVC-请求与相应_第11张图片

(1).JSON普通数组

SpringMVC-请求与相应_第12张图片SpringMVC-请求与相应_第13张图片SpringMVC-请求与相应_第14张图片SpringMVC-请求与相应_第15张图片

(2).JSON对象数据

SpringMVC-请求与相应_第16张图片

(3).JSON对象数组

SpringMVC-请求与相应_第17张图片

SpringMVC-请求与相应_第18张图片 

SpringMVC-请求与相应_第19张图片知识点 

SpringMVC-请求与相应_第20张图片

SpringMVC-请求与相应_第21张图片

6.日期类型参数传递 

SpringMVC-请求与相应_第22张图片

SpringMVC-请求与相应_第23张图片 注意:SpringMVC默认支持的字符串转日期的格式为yyyy/MM/dd

如果要接收不同格式的参数,可以这样:

SpringMVC-请求与相应_第24张图片

SpringMVC-请求与相应_第25张图片

这些转换由SpringMVC来做,通过调用Converter接口

SpringMVC-请求与相应_第26张图片

三.响应

SpringMVC-请求与相应_第27张图片

SpringMVC-请求与相应_第28张图片

SpringMVC-请求与相应_第29张图片

你可能感兴趣的:(Spring系列,spring,java,后端)