`

第四章 Spring MVC Rest风格的url、静态资源标签

阅读更多
一、Restful 风格的资源 URL 简介

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

二、SpringMvc 对 Rest 风格的支持


package com.java1234.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.java1234.model.Article;

/**
 * 声明controller控制器:
 * Controller
 * 
 * 设置控制器访问路径:
 * RequestMapping("/article")
 *
 */
@Controller
@RequestMapping("/article")
public class ArticleController {

	/**
	 * RequestMapping
	 * 设置方法访问路径
	 * @param model
	 * @return
	 */
	@RequestMapping("/list")
	public String list(Model model){
		return "article/list";
	}
	
	/**
	 * restfull 风格的请求路径
	 * @param id
	 * @return
	 */
	@RequestMapping("/details/{id}")
	public ModelAndView details(@PathVariable("id") int id){
		ModelAndView mav=new ModelAndView();
		if(id==1){
			mav.addObject("article", new Article("文章一","文章一的内容"));
		}else if(id==2){
			mav.addObject("article", new Article("文章二","文章二的内容"));
		}
		mav.setViewName("article/details");
		return mav;
	}
}





三、@PathVariable 获取 Url 变量



	/**
	 * restfull 风格的请求路径
	 * @param id
	 * @return
	 */
	@RequestMapping("/details/{id}")
	public ModelAndView details(@PathVariable("id") int id){
		ModelAndView mav=new ModelAndView();
		if(id==1){
			mav.addObject("article", new Article("文章一","文章一的内容"));
		}else if(id==2){
			mav.addObject("article", new Article("文章二","文章二的内容"));
		}
		mav.setViewName("article/details");
		return mav;
	}





四、SpringMvc 对静态资源的处理


<!-- 静态资源标签,配置可访问资源 -->
<mvc:resources mapping="/resources/**" location="/images/"/>




测试地址:http://localhost:8080/SpringMvc03/article/list
分享到:
评论

相关推荐

    Spring3 MVC REST + JPA2 (Hibernate 3.6.1) 构建投票系统 - 2.Spring MVC REST

    标题 "Spring3 MVC REST + JPA2 (Hibernate 3.6.1) 构建投票系统 - 2.Spring MVC REST" 提供了我们要探讨的核心技术栈:Spring 3 MVC、RESTful API 和 JPA2(这里指的是 Hibernate 3.6.1 实现)。在这个项目中,开发...

    spring mvc restful service

    5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)、`src/main/resources`(存放配置文件和静态资源)、`src/main/webapp/WEB-INF`(存放`web.xml`配置文件)等。 6. **配置...

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》...静态资源处理:使REST风格的URL成为实现 静态资源处理:原理 静态资源处理:如何配置? 静态资源处理:如何配置? 物理静态资源路径映射逻辑资源路径 允许利用浏览器的缓存且不当心不同步 AQ?

    spring mvc demo

    5. **处理静态资源**:配置DispatcherServlet以处理静态资源,如CSS、JavaScript和图片,避免它们被Spring MVC拦截。 6. **打包和部署**:将项目打包成WAR文件,然后在Web服务器上部署。 【Spring MVC Showcase ...

    spring mvc4 详细教程 PDF

    9. Spring MVC表单标签和处理静态资源,提供了表单标签库,以及处理静态资源的方式。 10. 数据转换和数据格式化及数据校验,可以通过Spring MVC的注解来实现数据的转换、格式化和校验。 11. 处理JSON,Spring MVC...

    Spring3MVC注解教程.ppt

    《Spring MVC 3.0实战指南...静态资源处理:使REST风格的URL成为实现 静态资源处理:原理 静态资源处理:如何配置? 静态资源处理:如何配置? 物理静态资源路径映射逻辑资源路径 允许利用浏览器的缓存且不当心不同步

    Spring MVC 3.0实战指南

    支持REST风格的URL 添加更多注解,可完全注解驱动 引入HTTP输入输出转换器(HttpMessageConverter) 和数据转换、格式化、验证框架无缝集成 对静态资源处理提供特殊支持 更加灵活的控制器方法签名,可完全独立于...

    Spring3 MVC REST + JPA2 (Hibernate 3.6.1) 构建投票系统 - 3. JPA2(Hibernate实现)

    1. **Spring3 MVC REST**: Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序的模型-视图-控制器架构。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP...

    Spring MVC 3.0实战指南--陈雄华

    1.支持REST风格的URL 2.添加更多注解,可完全注解驱动 3.引入HTTP输入输出转换器(HttpMessageConverter)和数据转换、格式化、验证框架无缝集成 4.对静态资源处理提供特殊支持 5.更加灵活的控制器方法签名,可...

    Spring MVC

    - **支持 REST 风格的 URL**:允许使用更加友好且符合 REST 原则的 URL。 - **添加更多注解**:例如 `@RestController` 可以简化控制器的编写。 - **引入 HTTP 输入输出转换器**(`HttpMessageConverter`):使...

    Spring MVC 框架学习总结

    - Spring MVC支持创建符合REST原则的API,通过HTTP动词(GET、POST、PUT、DELETE等)和URL结构表达资源操作。 11. **模板引擎集成** - 如Thymeleaf,可以实现静态文本和动态数据的分离,提高开发效率。 通过以上...

    Spring mvc 实例

    Spring MVC 也支持创建 RESTful 风格的 Web 服务。通过 @RequestMapping 注解的不同方法(GET、POST、PUT、DELETE 等),可以轻松构建符合 REST 原则的接口。 总的来说,Spring MVC 以其强大的功能和灵活性,已经...

    RestSpringMVCDemo项目是一个基于Spring的符合REST风格的项目.zip

    `RestSpringMVCDemo`项目展示了如何利用Spring MVC创建符合REST原则的Web服务。通过研究这个项目,你可以深入理解Spring框架、RESTful API设计和HTTP协议,以及如何将它们结合起来构建高效、可扩展的Web应用。在实际...

    深入浅出学Spring_Web_MVC

    - **支持静态资源管理**:对于静态资源的管理更加便捷。 - **支持Restful风格**:符合现代Web应用的发展趋势,支持RESTful风格的API设计。 #### 二、Spring Web MVC 的核心组件 ##### 1. DispatcherServlet(前端...

    Spring_MVC_3.0实战指南

    - **支持 REST 风格的 URL**:Spring MVC 3.0 引入了对 RESTful 设计的支持,允许使用更加清晰和一致的 URL 结构。 - **添加更多注解**:增加了如 `@RequestBody`, `@ResponseBody`, `@RequestHeader`, `@Cookie...

    spring mvc

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建控制器层,实现模型-视图-控制器(MVC)的设计模式。这个框架提供了一个灵活的处理HTTP请求和响应的方式,使得开发者...

    SpringMVC精品资源--RestSpringMVCDemo项目是一个基于Spring的符合REST风格的项目,.zip

    **SpringMVC与REST风格详解** SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。在Java世界中,SpringMVC因其强大的功能、高度的可配置性和良好的社区支持而备受青睐。...

Global site tag (gtag.js) - Google Analytics