SpringMVC学习笔记(三)SpringMVC常用注解(一)

SpringMVC学习笔记(三)

1.@Controller注解

  在SpringMVC 中,@Controller表示在tomcat启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。

@Controller
@RequestMapping("/g")//等于@RequestMapping(value="/g")
public class helloworldController {
	 @RequestMapping(value="/h")   
	    public String hello() { 
	    	System.out.println("hello world");       
	        return "s";
	    }
}

2.@RequestMapping注解

  @RequestMapping 是 SpringMVC 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。@RequestMapping 还可以来处理多个URL请求。

1.@RequestMapping的请求路径

Ant风格的请求路径:

通配符简介
?匹配任何单字符
*匹配0或者任意数量的字符
**匹配0或者更多的目录

例如:
在这里插入图片描述
REST风格的请求方式:
  RESR(Repressentational State Transfer)是一种编程风格,可以降低开发的复杂性。
  举例:
  请求页面:

<!--对应增删改出 -->
<form action="g/requestREST/1234" method="post">
 	<input type="hidden" name="_method" value="DELETE"/>
 	<input type="submit" value="删除"/>
 </form>
 
 <form action="g/requestREST/1234" method="post">
 	<input type="hidden" name="_method" value="PUT"/>
 	<input type="submit" value="修改"/>
 </form>
 
 
 <form action="g/requestREST/1234" method="post">
 	<input type="submit" value="增加"/>
 </form>
 <br>
 <a	href="g/requestREST/1234">查看</a>
 

  控制器controller:

  //使用REST风格,处理“删除”的请求
    @RequestMapping(value="requestREST/{id}",method=RequestMethod.DELETE)
    public String requestRestDelete(@PathVariable("id") Integer id) {
    	System.out.println("删除时需要的id:"+id);
    	return "s";
    }
    

    //使用REST风格,处理“增加”的请求
    @RequestMapping(value="requestREST/{id}",method=RequestMethod.POST)
    public String requestRestAdd(@PathVariable("id") Integer id) {
    	System.out.println("增加时需要的id:"+id);
    	return "s";
    }

    //使用REST风格,处理“修改”的请求
    @RequestMapping(value="requestREST/{id}",method=RequestMethod.PUT)
    public String requestRestPut(@PathVariable("id") Integer id) {
    	System.out.println("修改时需要的id:"+id);
    	return "s";
    }

    //使用REST风格,处理“查看”的请求
    @RequestMapping(value="requestREST/{id}",method=RequestMethod.GET)
    public String requestRestGet(@PathVariable("id") Integer id) {
    	System.out.println("修改时需要的id:"+id);
    	return "s";
    }
    

2.@RequestMapping的常用属性

1.value:
  指定请求的实际地址,属性名value可以省略。

2.method:
  指定请求的method类型,包括GET(默认)\、POST、PUT、DELETE等,可以通过枚举类来设置,如
在这里插入图片描述

3.consumes:
  指定处理请求的提交内容类型(Content-Type),例如application/json、application/xml、text/html等。
4.produces:
  指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
5.params:
  指定request中必须包含某些参数值才让该方法处理,param本身就是一个字符串数组。
6.headers:
  指定request中必须包含某些指定的header值,才能让该方法处理请求。

3.@RequestParam注解

  SpringMVC通过@RequestParam注解来解释请求中的参数值,该注解的常用属性如下:
1. value / name: 请求参数中的参数名 (必写参数)
2. required: 请求参数中是否必须提供此参数,默认值是true,true为必须存在,不在则抛出异常,flase:可以不存在。
3. defaultValue: 给参数一个默认值。
  例如:
请求页面:

<br>
 <a href="g/requestParam?name=zqq&age=24">
 超链接测试5:requestParam</a>
 <br>

控制器:

//使用@RequestParam注解接收请求参数
    @RequestMapping("/requestParam")
    //使用defaultValue="23"将age的默认值设置为23,如果前端发送到值没有age,那么默认就是23
    public String requestParam(@RequestParam(value="name")String name,@RequestParam(value="age",required=false,defaultValue="23") Integer age) {
    	System.out.println("name:"+name+"	age: "+age);
    	return "s";
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值