springmvc注解整理

注解

什么是注解?

起步

1
2
<!-- 注解驱动的方式,不用再去写映射器和适配器,也自动导入了json的转换器 -->
<mvc:annotation-driven validator="validator" />

注解整理

Controller

声明这是一个controller,配置了组件扫描之后会自动去找有这个注解的类。

在springmvc的配置文件中加入组件扫描。

1
2
<!-- 组件扫描 -->
<context:component-scan base-package="com.hundsun.ssm.controller" />

RequestMapping

一个url路径。同时里面也可以有参数,可以去限制请求方法。

1
2
// 只能通过post方法来请求
@RequestMapping(value="items",method={RequestMethod.POST})

Autowired

自动装配,有了这个就不用去给每次的注入添加set方法。

RequestBody

请求的格式为json格式。

ajax请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//请求json,输出是json
function requestJson(){
$.ajax({
type:'post',
url:'${pageContext.request.contextPath}/requestJson.action',
contentType:'application/json;charset=utf-8',
//数据格式是json串,商品信息
data:'{"name":"手机","price":999}',
success:function(data){//返回json结果
alert(data);
}
});
}

controller接收处理请求

1
2
3
4
5
6
@RequestMapping("/requestJson")
public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom){
// do something...
return itemsCustom;
}

ResponseBody

响应的格式为json格式。

ajax请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//请求key/value,输出是json
function responseJson(){
$.ajax({
type:'post',
url:'${pageContext.request.contextPath}/responseJson.action',
//请求是key/value这里不需要指定contentType,因为默认就 是key/value类型
//contentType:'application/json;charset=utf-8',
//数据格式是json串,商品信息
data:'name=手机&price=999',
success:function(data){//返回json结果
alert(data.name);
}
});
}

controller接收处理

1
2
3
4
5
6
// 返回的是json,输入的是key/value格式
@RequestMapping("/responseJson")
public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom){
// do something...
return itemsCustom;
}

ModelAttribute

Validated

分组的时候用。