springmvc部分注解使用和作用

本文深入解析SpringMVC框架中关键注解的使用方法,包括路径映射、请求参数处理、RESTful风格、默认值设定、cookie操作、请求转发与重定向、请求表达式等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring mvc 部分注解使用方式

  1. 该注解用于的value属性的值用于声明访问路径
@RequestMapping(value="/hi")
public ModelAndView firstrequestMapping(){
    System.out.println("来了");
    ModelAndView andView=new ModelAndView();
    andView.setViewName("index");
    return andView;
}
  1. method属性用于设置方法的请求方式,默认两种均支持

    @RequestMapping(value="/mypost",method = RequestMethod.POST)
    public String postMethod(User user){
       System.out.println(user);
        return "index";
       }
    

3.RESTful风格 及设置成另一种赋值方式
eg:/user/admin/123 ------- /user?username=admin&password=123

@RequestMapping("/user/{password}/{username}")
   public String Stafull(@PathVariable("username") String username,
                      @PathVariable("password") String password){
       System.out.println(username+"\t"+password);
       return "index";
   }

4.RequestParam用于设定参数的默认值,name为参数名称;defaultValue默认值;required限制请求参数的名称

@RequestMapping("/defualt")
public String setDefault(@RequestParam(
        name="nowPage",defaultValue = "1",required =true) int nowPage,int totalPage){
    System.out.println(nowPage+"\t"+totalPage);
    return "index";
}

5.cookie的添加和取出

@RequestMapping("/addcookie")
public String addCookie(HttpServletResponse response){
    Cookie c=new Cookie("name","haha");
    c.setPath("/");
    response.addCookie(c);
    return "forward:/getcookie";
}
@RequestMapping("/getcookie")
public String getCookie(@CookieValue("JSESSIONID") String cookie,HttpServletRequest request){
    System.out.println(cookie);
    System.out.println(request.getAttribute("test"));
    return "index";
}

6.请求转发的写法 转发:forward:/转发路径;重定向:redirect:/重定向路径

@RequestMapping("/testforward")
public String myforward(HttpServletRequest request){
    request.setAttribute("test","转发");
    return "forword:/testrequest";
}
@RequestMapping("/testredirect")
public String myRedirect(HttpServletRequest request){
    request.setAttribute("test","重定向");
    return "redirect:/testrequest";
}
@RequestMapping("/testrequest")
public String myTest(HttpServletRequest request){
    System.out.println(request.getAttribute("test"));;
    return "index";
}

7.请求表达式:
param:请求必须包含该参数
!param:请求必须不包含该参数
param=value:请求包含该参数且值必须为value
param!=value:请求包含该参数但值不为value

@RequestMapping(value = "/param" , params = {"username=admin","password!=10","!age"})
public String testParam(String username , String password){
    System.out.println("usernam:"+username);
    System.out.println("password:"+password);
    return "index";
}

8.ant风格:模糊匹配路径;*表示任意字符;**表示任意层级任意字符;?表示任意一个字符

@RequestMapping("/ant/*/can")
public String ant(){
    return "index";
}
@RequestMapping("/ant/**/can")
public String ant1(){
    return "index";
}
@RequestMapping("/ant/?can")
public String ant2(){
    return "index";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值