java开发工作中随手笔记

时间过得真快!转眼距离第一次写博客已经7个月了,在这期间也换了一次工作,从深圳这座南方城市,来到了北京,传说中的帝都。闲话不多说了,切入正题。最近的项目使用的都是springMVC框架,今天就来说一说springMVC中常用的注解:@RequestMapping

1.@RequestMapping(value="/test");可以指定单个值.

也可以同时指定多个值如:@RequestMapping(value={"/test","/test2"})。


2.只注解方法:

@RequestMapping("/action1")
public String action1(){
return "test/index";
}
访问路径:http://localhost:8080/ProjectName/action1


同时注解类和方法:

@RequestMapping("/test")
public class FooBarController {
@RequestMapping("/action1")
public String action1(){
return "test/index";
}
访问路径:http://localhost:8080/projectName/test/action1

 

3.注解在方法上时,如果value为空则表示该方法为类下默认的Action。
注解在类上时,当value为空值则为默认的控制器,可以用于设置项目的起始页。


4.在Spring MVC可以使用@PathVariable 注释方法参数的值绑定到一个URI模板变量。

5.正则表达式模式的URI模板:
@RequestMapping(value="/action4/{id:\\d{6}}-{name:[a-z]{3}}")


6.矩阵变量@MatrixVariable
矩阵变量可以出现在任何路径段,每个矩阵变量用“;”分隔。例如:“/汽车;颜色=红;年=2012”。

多个值可以是“,”分隔“颜色=红、绿、蓝”或变量名称可以重复“颜色=红;颜色=绿色;颜色=蓝”。

 

7.Ant风格路径模式:
@RequestMapping注解也支持ant风格的路径模式,如/myPath/*.do,/owners/*/pets/{petId}

 

8.consumes属性指定请求的Content-Type:
指定处理请求的提交内容类型(Content-Type),例如application/json, text/html
请求的内容类型不一致则会报客户端415错误。


9.produces属性指定响应的Content-Type:
指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回,方法才处理客户端的请求否则会报406错误, 常用设置如下:
(1)produces = "text/plain" //客户端只接收纯文本
(2)produces = {"text/plain", "application/*"} //客户端接收纯文本与application/*类型的内容
(3)produces = "application/json; charset=UTF-8" //客户端接收json且编码为utf-8

 

10.headers属性指定请求中必须有特定header值:映射请求头部,收窄请求范围。约束客户端发送的请求头部信息中必须包含某个特定的值或不包含某个值

 

11.如果一个控制器类有多个请求处理方法,以及一个有@ModelAttribute注解的方法,则在调用其它Action时会先调用非请求处理的Action

 

12.标签<c:url value="/images/3.jpg"></c:url>,将路径转换成“绝对路径”;建议在引用外部资源如js、css、图片信息时都使用该标签解析路径。

 

13.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很高的灵活性,而模型数据又可以通过Model控制。

使用void,map,Model时,返回对应的逻辑视图名称真实url为:prefix前缀+控制器路径+方法名 +suffix后缀组成。

使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。

另外在非MVC中使用的许多办法在Action也可以使用。

 

posted @ 2016-07-20 10:23  奔跑的小白  阅读(182)  评论(0)    收藏  举报