SpringMVC---常用注解

@RequestParam

  • 作用:取得请求路径中的参数.

在这里插入图片描述

在这里插入图片描述

  • 示例:使用@RequestParam入参取得请求参数
@RequestMapping("/testRequestParam")
    public String testRequestParam(@RequestParam(value = "uname")String uname,@RequestParam(value="age")Integer age){
        System.out.println("testRequestParam()方法开始执行: uname = " +uname+"age = "+age);
        return "success";
    }

在这里插入图片描述

RequestHeader注解

  • @RequestHader注解用于取得请求头的信息,请求头信息包括请求的编码格式等信息.
  • 使用浏览器的开发者信息可以看到每一个请求的请求头

在这里插入图片描述

  • 在SpringMVC中要获取请求头信息只需要使用@RequestHeader注解即可
    在这里插入图片描述

  • 示例:获取请求头信息

    private static final String SUCCESS = "success";
    @RequestMapping("/testRequestHeader")
    public String testRequestHeader(@RequestHeader(value="Accept-Encoding")String type){
        System.out.println("编码格式 = type"+type);
        return SUCCESS;
    }

在这里插入图片描述

@CookieValue注解

  • @CookieValue注解可以让方法绑定某个缓存值
  • 示例:
    @RequestMapping("/testCookieValue")
    public String testCookieValue(@CookieValue(value = "sessionid",required = false) String id){
        System.out.println("sessionid = "+id);
        return SUCCESS;
    }

在这里插入图片描述

使用POJO作为参数

  • pojo就是一个普通的java类对象,在开发中页面中使用一个表单传输数据,往往会传送许多的请求参数,如果此时使用注解的方式一个一个的接收请求参数,太过麻烦.

在这里插入图片描述

  • 示例:使用Pojo作为参数
  1. 定义一个User类用于接收表单参数
public class User {
    private Integer uid;
    private String uname;
    private String password;
    private UserAddress userAddress;
//gettter和setter方法
}
  • User类的关联类UserAddress;
public class UserAddress {
    private String city;
    private String street;
    //getter和setter方法
}
  • 定义接收数据的方法—addUser()
@RequestMapping("/addUser")
public String addUser(User user){
    System.out.println("addUser: user =" + user);
    return SUCCESS ;
}
  • 定义传输表单页面—user_add.jsp
<form method="post" action="addUser">
    <div>
        用户id:<input type="text" name="user.uid" id="user.uid"/>
    </div>
    
    <div>
        用户名称:<input type="text" name="user.uname" id="user.uname"/>
    </div>
    <div>
        用户密码:<input type="password" name="user.password" id="user.password"/>
    </div>
    <div>
        城市:<input type="text" name="user.address.city" id="user.address.city"/>
    </div>
    <div>
        街道:<input type="text" name="user.address.street" id="user.address.street"/>
    </div>
    
    <div>
        <input type="submit" value="提交"/>
    </div>
</form>
  • 测试

在这里插入图片描述

  • 后台输出的数据

在这里插入图片描述

使用Servlet原生API作为参数

  • 可以使用的Servlet原生的API作为目标方法的参数具体支持以下类型

在这里插入图片描述

  • 示例:使用Servlet原生API作为参数

    @RequestMapping("/testServletApi")
    public String testServletApi(HttpServletRequest request, HttpServletResponse response) throws IOException {
        Enumeration<String> params = request.getParameterNames();
        while(params.hasMoreElements()){
            String param = params.nextElement();
          String value = request.getParameter(param);
            System.out.println(("参数名称 :" + param + " 参数内容 :" + value));
        }
        return SUCCESS;
    }
  • 后台输出

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值