9月21日Spring笔记

标签

java

后端

spring

springMVC

ajax

发布时间:

本文字数:206 字 阅读完需:约 1 分钟

SpringMVC 注解的使用(接昨天笔记)

@RequestParam自定义传参

使用@RequestParam自定义前端传参的参数名,如下示例,userId 用来接收前端传来的"id"

    @RequestMapping("/value.action")
    public String value(@RequestParam("id") String userId, @RequestParam("name") String userName){
        System.out.println("userId=" + userId);
        System.out.println("userName=" + userName);
        return "main";
    }

@CookieValue获取cookie值

如下示例,获取key为"JSESSIONID"的cookie值

    @RequestMapping("/value.action")
    public String value(@RequestParam("id") String userId, @RequestParam("name") String userName, @CookieValue("JSESSIONID") String cookieValue){
        System.out.println("userId=" + userId);
        System.out.println("userName=" + userName);
        System.out.println(cookieValue);
        return "main";
    }

@HeaderValue获取header值

下例获取浏览器UA:

    @RequestMapping("/value.action")
    public String value(@RequestParam("id") String userId, @RequestParam("name") String userName, @CookieValue("JSESSIONID") String cookieValue, @RequestHeader("User-Agent")String headerValue){
        System.out.println("userId=" + userId);
        System.out.println("userName=" + userName);
        System.out.println(cookieValue);
        System.out.println(headerValue);
        return "main";
    }

### `@RequestBody` 获取 json 请求数据

```java
    @RequestMapping("/body.action")
    public String body(@RequestBody String value){
        System.out.println(value);
        return "main";
    }

form表单和ajax区别

form : 刷新浏览器
ajax: 异步提交,局部刷新

以下示例操作response值

    @RequestMapping("/noJump.action")
    public void noJump(HttpServletResponse response) throws IOException{
        PrintWriter out = response.getWriter();
        out.write("I am data");
        out.flush();
    }

等价于

    @ResponseBody
    @RequestMapping("/noJump.action")
    public void noJumpToo(){
        return "I am data too!"
    }