SpringMVC(五)RESTful支持,Dispatcher常见的拦截路径

RESTful架构

REST,即Representational State Transfer的缩写,表现层状态转化

*资源

网络上的一个实体,文本,图片,MP3文件,可以使用URI进行定位,每个资源独有一个URI,上网就是

URI定位资源的过程

* 表现层

资源的表现形式,比如文本文件使用txt格式表示等等。

严格来说URI应该代表资源的实体,不代表他的形式,网址用.html结尾作为后缀,是不必要的,这是表现层的范畴

具体表现形式应在http的请求头信息中accept和content-type指定。

* 状态转换

http协议是无状态协议,如果客户端需要操作服务器,必须通过某种手段,让服务端发生"状态转化"。这个转换是建立在

表现层之上的,就是"表现层状态转化"

客户端用到的手段是http协议,http协议里面表示操作方式的词语:

GET:获取资源

POST:新建资源

PUT:更新资源

DELETE:删除资源

总结,RESTful架构

* 每个URI代表一种资源

* 客户端和服务端传递的是资源的表现层

* 客户端通过4个http动词操作服务器资源

举个例说明:

传统方式操作资源
http://127.0.0.1/item/queryItem.action?id=1         查询,GET
http://127.0.0.1/item/saveItem.action 新增,POST
http://127.0.0.1/item/updateItem.action 更新,POST
http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST

使用RESTful操作资源
http://127.0.0.1/item/1 查询,GET
http://127.0.0.1/item 新增,POST
http://127.0.0.1/item 更新,PUT

http://127.0.0.1/item/1 删除,DELETE

GET,POST 请求参数,经常遇到,但是PUT、DELETE发送请求,需要注意。

tomcat默认解析post请求,PUT、DELETE请求方式默认不支持,修改tomcat的server.xml加上

SpringMVC RESTful开发

使用RESTful开发商品查询


	 

controller方法

@RequestMapping("/{id}.action")
	public @ResponseBody Item queryItemInfoById(@PathVariable Integer id){
		Item item = new Item();
		item.setId(1001);
		item.setName("华为");
		item.setTime(new Date());
		item.setRemark("....");
		return item;
	}

SpringMVC拦截路径说明

SpringMVC的前端控制器对符合匹配规则的URI进行拦截,常见的如下

 
  	dispatcherServlet
  	org.springframework.web.servlet.DispatcherServlet
 	
 		contextConfigLocation
 		classpath:springMVC.xml
 	
  
  
  
  	dispatcherServlet
  	*.action
  

配置为/,对于静态资源的处理方法:

1. 在SpringMVC.xml中加上静态资源放行


	
	
	

2. 启用tomcat的defaultservlet处理,需要将配置放在dispatcherServlet前面

  
    default  
    *.jpg  
  
  
    default  
    *.js  
  
  
    default  
    *.css  
  

转载:http://www.ruanyifeng.com/blog/2011/09/restful.html

          https://blog.csdn.net/u012730299/article/details/51872704


你可能感兴趣的:(SpringMVC)