REST风格案例
Spring MVC支持REST风格的URL。下面介绍REST风格的URL。
REST: Representational State Transfer,即表述性状态转移,是一种软件架构风格。这个概念较为复杂,我们可以简单理解为:使用URL表示资源时,每个资源都用一个独一无二的URL来表示,并使用HTTP方法表示操作,即准确描述服务器对资源的处理动作(GET、POST、PUT、DELETE),实现资源的增删改查。
举例说明REST风格的URL和传统风格的URL区别。
GET传统风格的URL GET REST风格的URL
GET传统风格的URL GET REST风格的URL
/userview.html?id=12 /user/view/12 | |
---|---|
/userdelete.html?id=12 /user/delete/12 | |
---|---|
/usermodify.html?id=12 /user/modify/12 | |
---|---|
我们可以发现REST风格的URL中最明显的就是参数不再使用“?”传递。这种风格的URL可读性更好,使得项目架构清晰,最关键的是Spring MVC也提供对这种风格的支持。但是也有弊端。尤其是URL参数中传递中文的乱码问题。现在很多网站都是传统的URL风格和REST风格混搭使用。
1.控制器
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/view/{id}",method = RequestMethod.GET)
public String view(@PathVariable String id, Model model){
System.out.println("view id======"+id);
model.addAttribute("id",id);
return "userview";
}
}
2.View页面
Index.jsp
<c:forEach begin="1" end="10" var="i">
<tr>
<td>用户${i}</td>
<td>
<a href="user/view/${i}">用户${i}</a>
</td>
</tr>
</c:forEach>