SpringMVC-请求与相应

一、环境准备

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

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>80</port>
          <path>/</path>
          <uriEncoding>UTF-8</uriEncoding>  //此处是解决tomcat中文乱码问题
        </configuration>
      </plugin>
    </plugins>
  </build>

二、请求

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请求出现中文乱码 

添加环境准备中<configuration>标签的 <uriEncoding>UTF-8</uriEncoding>  

3.post请求出现乱码 

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

4.五种请求参数

(1).普通参数

    拓展应用:

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

 

(2).POJO数据类型

其实就是传递对象

(3).嵌套POJO类型参数

(4).数组类型参数

(5). 集合类型参数

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

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

知识点 

5.JSON数据传输参数 

常见的json数据格式

(1).JSON普通数组

(2).JSON对象数据

(3).JSON对象数组

 

知识点 

6.日期类型参数传递 

 注意:SpringMVC默认支持的字符串转日期的格式为yyyy/MM/dd

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

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

三.响应

猜你喜欢

转载自blog.csdn.net/m0_61395860/article/details/133281376