SpringMVC常用注解及其简单运用实例

引言:

       最近复习了SpringMVC开发的相关基础知识,现在对开发过程中经常用到的注解做下总结:

@RequestMapping注解

       @RequestMapping 是SpingMVC中最常用的注解,其作用和属性为
           a.作用:主要用于处理请求的地址映射。可用于类和方法,用于类时表示所有响应请求的方法都以该地址作为父路径。
           b.属性
              1、path与value:两个属性作用一样,都是用于设置访问的URL。
              2、method:用于设置请求的方法如:method={RequestMethod.GET} 。
              3、params: 用于指定限制请求的参数的条件,支持简单的表达式,要求请求参数的key与value必须与配置的一样。
              4、headers:用于指定限制请求的消息头条件。

实例代码:

控制器类HelloController.java的主要实现代码
/**
 * 控制器类
 */
@Controller
@RequestMapping(path = "/helloController")
public class HelloController {
    /**
     * 入门案例
     * @return
     */
    @RequestMapping(path = "/hello")
    public String sayHello(){
        System.out.println("Hello word!!");
        return "success";
    }
    /**
     * 注解@RequestMapping使用实例
     * @return
     */
    @RequestMapping(path = "/requestMapping",method = {RequestMethod.GET},params = {"name"})
    public String requestMapping(){
        System.out.println("测试注解@RequestMapping的使用。。。");
        return "success";
    }

}

详细代码点此

视图页面index.jsp主要代码
    <a href="helloController/hello">入门程序</a>
    <br/>
    <a href="helloController/requestMapping?name=test">RequestMapping</a>
    <br/>
    <a href="params/testParams?name=pankx&age=18">请求参数绑定(即获取请求参数的值)</a>

详细代码点此

@RequestParam注解

           a.作用:把请求中指定名称的参数给控制器方法中的参数赋值。
           b.属性
              1、name与value:请求参数中的名称。
              2、required:用于设置请求参数中是否必须提供此参数,默认值为:true,表示必须提供,如不提供则报错。

实例代码:

控制器类RequestParamDemo.java的主要实现代码
@Controller
@RequestMapping("/RequestParam")
public class RequestParamDemo {
 /**
     * @RequestParam注解实例
 	  * @param username
     * @return
     */
    @RequestMapping("/param")
    public String requestParam(@RequestParam(name="name") String username){
        System.out.println("requestParam执行。。。。");
        System.out.println("username:"+username);
        return "success";
    }
}

详细代码点此

视图页面requestparam.jsp主要代码
    <a href="RequestParam/param?name=test&age=19">RequestParam注解实例</a>

详细代码点此

@RequestBody注解

           a.作用:用于获取请求体的内容,直接使用获取得的是key1=value1&key2=value2…结构的数据,get请求不适用。
           b.属性
              required:用于设置是否必须有请求体,默认为true。get方式请求会报错,如果取值为false,则get方式请求不报错,但取得的值为null。

实例代码:

控制器类RequestBodyTest.java的主要实现代码
@Controller
@RequestMapping("/requestbody")
public class RequestBodyTest {
    /**
     * 注解@RequestBody实例
     * @param body
     * @return
     */
    @RequestMapping("/requestBodyDemo")
    public String requestBodyDemo(@RequestBody String body){
        System.out.println("requestBodyDemo执行。。。");
        System.out.println(body);
        return "success";
    }

详细代码点此

视图页面requestbodydemo.jsp主要代码
<body>
    <form action="requestbody/requestBodyDemo" method="post">
        姓名:<input type="text" name="name"/><br/>
        年龄:<input type="text" name="age"/><br/>
        <input type="submit" value="提交"/>

    </form>
</body>

详细代码点此

@PathVarible注解

           a.作用:用于绑定url中的占位符,即获取占位符中的值,并传给控制器方法的参数。如:/demo/{id},{id}即url的占位符。
              1、name与value:两个属性功能一样,都是用于指定url中的占位符的名称。
              2、required:用于设置是否必须提供占位符。

实例代码:

控制器类PathVaribleTest.java的主要实现代码
@Controller
@RequestMapping("/PathVarible")
public class PathVaribleTest {
    /**
     * 注解@PathVarible实例
     * @param id
     * @return
     */
    @RequestMapping("/pathvaribletest/{id}")
    public String pathVaribleTest(@PathVariable("id") String id){
        System.out.println("pathVaribleTest执行。。。。。");
        System.out.println("id="+id);
        return "success";
    }

详细代码点此

视图页面pathVaribleDemo.jsp主要代码
<body>
        <a href="PathVarible/pathvaribletest/2020">注解@PathVarible实例</a>
</body>

详细代码点此

@CookieValue注解

           a.作用:用于获取请求中指定的cookie值,并传给控制器方法的参数。
              1、name与value:两个属性功能一样,都是用于指定cookie的名称。
              2、required:用于设置是否必须有此cookie。

实例代码:

控制器类CookieValueTest.java的主要实现代码
@Controller
@RequestMapping("/Cookie")
public class CookieValueTest {
    /**
     * 注解@CookieValue实例
     * @return
     */
    @RequestMapping("/cookieValueTest")
    public String cookieValueTest(@CookieValue("JSESSIONID") String cookie){
        System.out.println("cookieValueTest执行。。。。");
        System.out.println("cookie="+cookie);
        return "success";
    }

详细代码点此

视图页面cookieValueDemo.jsp主要代码
<body>
    <a href="Cookie/cookieValueTest">注解@CookieValue实例</a>
</body>

详细代码点此
SpringMVC还有很多常用的注解,先写这些等以后用到再做总结。
           

关注我的公众号
欢迎关注我的公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pkx0128

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值