zoukankan      html  css  js  c++  java
  • Spring注解及作用

    一:

    spring mvc中的@PathVariable是用来获得请求url中的动态参数的

    @PathVariable用于方法中的参数,表示方法参数绑定到地址URL的模板:

    1. @Controller  
    2. public class TestController {  
    3.      @RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET)  
    4.      public String getLogin(@PathVariable("userId") String userId,  
    5.          @PathVariable("roleId") String roleId){  
    6.          System.out.println("User Id : " + userId);  
    7.          System.out.println("Role Id : " + roleId);  
    8.          return "hello";  
    9.      }  
    10.      @RequestMapping(value="/product/{productId}",method = RequestMethod.GET)  
    11.      public String getProduct(@PathVariable("productId") String productId){  
    12.            System.out.println("Product Id : " + productId);  
    13.            return "hello";
    14.      }  

       二:

       在Spring MVC里,@ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里。

        如果把@ModelAttribute放在方法的注解上时,代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法

         /**

         * 登录提交数据处理
         * @Title: login
                  */
        @RequestMapping(value="sys/loginIn" ,method = RequestMethod.POST)
        public @ResponseBody DataJSON login(@ModelAttribute User user,
        HttpServletResponse response,
        HttpServletRequest request,
        String autoLogin) throws IOException{

        try{


      //进行公共验证
       DataJSON dataJSON = UserUtil.userLoginVerifyPC(user);

       

      三:

        @RequestBody

    作用: 

          i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

          ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

    使用时机:

      GET、POST方式提时, 根据request header Content-Type的值来判断:

    •     application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
    •     multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
    •     其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

    @ResponseBody

    作用: 

          该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

    使用时机:

          返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

      四:

    RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
    @RequestMapping(value = "/aaa")//类级别,可以没有
    public class myController {
        @RequestMapping(value = "/bbb")//方法级别,必须有
        public String getMyName() {
            return "myReturn";
        }
    }
    对应的action就是:<form action="aaa/bbb">
    返回页面就是myReturn.jsp

    五:


  • 相关阅读:
    3、字节流输入输出实现文件的copy
    2、io的读出数据到文件中的内容(文件字节输出流)
    1、io的读取文件中的内容(文件字节输入流)
    10 linux中运行jar
    Linux 部署 iSCSI 客户端配置(Linux)
    Linux 部署 iSCSI 服务端
    Linux上使用iSCSI概述
    SSH实现免密登陆
    源码安装Python3
    Windows(受控主机)上配置
  • 原文地址:https://www.cnblogs.com/lzq198754/p/5766983.html
Copyright © 2011-2022 走看看