Spring 框架 注解详解(集)

1、@RequestMapper("")

@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法

例如:

@Controller
@RequestMapping(value = "/login")
public class TestController extends BaseController {

    private final Logger log = LoggerFactory.getLogger(TestController.class);

//    @ResponseBody    //将return的返回值返回到jsp界面

    @RequestMapping("/test")
    public String test(ModelMap model) {
        String xx = "$$$$$$$$$$$$$";
        model.put("testURL", xx);
        log.error("test:" + xx);
        return "login/test";
    }
}
View Code

其中当URL=/login/test时 系统就会访问TestController类下面test方法,

在本地访问 http://localhost:8080/login/test就会返回(跳转)到“ login/test.jsp ”页面。

2、@ResponseBody

@ResponseBody注解标识该方法返回的结果直接写入HTTP响应正文(ResponseBody)中,一般在异步获取数据时使用,比如;

save方法保存完毕数据之后返回保存成功的信息。

3、@RequestBody

@RequestBody注解则是将HTTP请求正文插入到方法中,使用合适的HttpMessageConverter将请求体写入某个对象中去

@ResponseBody
public Person login(@RequestBody Person person) {   // 将请求中的 datas 写入 Person 对象中
    return person;    // 不会被解析为跳转路径,而是直接写入 HTTP 响应正文中
}

这个知识点同样的需要了解的是页面异步请求的方式

function login() {
    var datas = json 文本数据格式 可以采用序列化的方式进行生成 也可以自己进行拼凑; 
  /*
  $("#fm").serialize(),
  通过<form id="fm" class="form-horizontal">选择器id 查找到控件,调用函数进行序列化
  这是jQuery ajax的序列化 注意:元素必须使用 name 属性,通过name属性来进行值与属性的对应
  */
    $.ajax({
        type : 'POST',
        contentType : 'application/json',
        url : "${pageContext.request.contextPath}/person/login",
        processData : false,
        dataType : 'json',
        data : datas,
        success : function(data) {
            alert("id: " + data.id + "name: " + data.name + "status: "+ data.status);
        },
        error : function() {
            alert('Sorry, it is wrong!');
        }
    });
};

4、@PathVariable

@PathVariable注解,其用来获取请求路径(url )中的动态参数

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url和方法的一个关系@RequestMapping("login/{id}")

例如:login/56845/

@RequestMapping("/zyh/{type}")
  public String zyh(@PathVariable(value = "type") int type) throws UnsupportedEncodingException {
        。
        。
        。
}

5、@RequestParam

@RequestParam注解是SpringMVC后台控制层获取参数的方式主要有两种之一【一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取】

@RequestParam注解中三个重要参数

value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;

required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;

defaultValue:默认值,表示如果请求中没有同名参数时的默认值,

猜你喜欢

转载自www.cnblogs.com/supperlhg/p/9111563.html