springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)
来源:互联网 发布:伊斯兰女性地位知乎 编辑:程序博客网 时间:2024/05/16 06:06
一、什么是REST?
符合REST约束风格和原则的应用程序或者设计就是REST例如:
/blog/1 HTTP GET =>查询id=1的blog
/blog/1 HTTP DELETE =>删除id=1的blog
/blog/1 HTTP PUT =>更新blog
/blog/add HTTP POST =>新增blog
二、SpringMVC对REST应用提供了以下支持
1、利用@RequestMapping指定要处理请求的URI模板和HTTP请求的动作类型。
1.1、@RequestMapping应用
@RequestMapping可以定义在Controller类前和处理方法前,主要用于指定Controller的方法处理那些请求1.2、在REST应用中,@RequestMapping可以采用以下使用格式:
(1)@RequestMapping(value="/emp/{id}",method=RequestMethod.GET)
(2)@RequestMapping(value="/emp/{id}",method=RequestMethod.DELETE)
(3)@RequestMapping(value="/emp/{id}",method=RequestMethod.PUT)
(4)@RequestMapping(value="/emp/add",method=RequestMethod.POST)
2、利用@PathVariable将URI模板中的变量映射到处理方法的参数上
2.1、@PathVariable应用
@PathVariable作用是将URI请求模板中的变量解析出来,映射到处理方法的参数上
2.2、@PathVariable使用示例
@RequestMapping(value="/appName/{name}",method=RequestMethod.GET)public String execute(@PathVariable("name")int name)
return name;
}
2.3、URL请求匹配
比如上述的例子可以这样访问:http://www.eguid.cn/appName/参数
参数对应的就是name的值。3、利用Ajax,在客户端发出PUT、POST、GET和DELETE请求
客户端发送PUT、POST、GET和DELETE请求
采用Ajax方式发送PUT、POST、GET和DELETE$.ajax({
type:"PUT",//这里的参数可以是PUT、POST、GET和DELETE
url:"/appName/name",//请求地址,name就是你的参数
data:JSON.stringify($("#myform").serializaObject()),
dataType:"json",
contentYype:"application/json",//这个一定要设置
success:function(data){
//这里是成功获取信息后的处理方法
}
});
重要的补充:
data:JSON.stringify($("#myform").serializaObject())
$("#myform").serializaObject()是通过jquery直接将form表单生成json对象;
JSON.stringify()是把json对象转成json字符串的操作;
再次补充:spring4.x支持json对象解析,如果使用spring4.x,这里直接写$("#myform").serializaObject()就可以了,不需要再转成字符串。
后端spring可以直接通过实体类就可以自动解析json
4、静态资源访问处理
采用RESTful架构后,必须将web.xml中控制器拦截的请求设置为 ‘ / ’ ;但是这样会产生一个问题,就是会将css,js,图片等静态资源拦截,发生404错误。
解决方案如下:
1、配置<mvc:resources/>
springMVC配置文件中这样使用:
<mvc:resources mapping="请求URI" location="资源位置";2、在springMVC配置文件中使用<mvc:default-servlet-handler/>
配置该指令放行默认的静态资源:
<mvc:default-servlet-handler/>
大部分情况下第二种就可以解决问题,而且方便简单
1 0
- springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)
- IIS8中解析JSON错误以及IISExpress解析JSON问题
- springmvc引入静态文件报404错误
- springMvc 静态文件问题
- 【REST】REST、RESTFUL的理解以及SpringMVC实现Restful编程
- 【REST】REST、RESTFUL的理解以及SpringMVC实现Restful编程
- springmvc发布rest服务(springmvc配置补充)
- springmvc使用rest风格的404错误
- REST、RESTFUL的理解以及SpringMVC实现Restful编程
- 关于springMVC在配置了json时 静态文件无法访问的问题
- SpringMVC重定向以及静态资源问题
- nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )
- 0xc000000e错误解决办法(补充)
- 关于使用MyEclipse开发Struts2文件上传问题以及解决办法
- springmvc静态资源解析异常的问题
- SpringMVC-REST实现
- SpringMVC-REST实现
- springmvc返回json数据406错误的解决办法
- java 简易计算器Swing
- 【BZOJ1069】【SCOI2007】最大土地面积 计算几何 凸包
- 【POJ 2796】 Feel Good(单调栈)
- 如何在筛选后的表里复制粘贴数据到同行的操作
- poj1990 MooFest
- springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)
- java 学习笔记
- 腾讯一面总结
- TClientDataSet的使用技巧
- u3d 的log回调
- linux网络相关命令
- docker容器中安装vi命令
- Wireless Network
- Action View显示UI组件