zoukankan      html  css  js  c++  java
  • 9--RESTful支持

    1、对url进行规范,写RESTful格式的url

    非REST的url:http://...../queryItems.action?id=001&type=T01

    REST的url风格:http://..../items/001

    特点:url简洁,将参数通过url传到服务端

    2、http的方法规范 不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为delete,同理添加。。。

    后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。

    3、对http的contentType规范 请求时指定contentType,要json数据,设置成json格式的type。。

    9.2 REST的例子

    9.2.1 需求 查询商品信息,返回json数据。

    9.2.2 controller 定义方法,进行url映射使用REST风格的url,将查询商品信息的id传入controller . 输出json使用@ResponseBody将java对象输出json。

    >URL 模板模式映射

    @RequestMapping(value="/ viewItems/{id}"):{×××}占位符,请求的URL可以是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。 @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

    @RequestMapping(value="/ itemsView/{id}"):{×××}占位符,请求的URL可以是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。

    @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

    如果RequestMapping中表示为"/ itemsView /{id}",id和形参名称一致,@PathVariable不用指定名称。

    @RequestMapping("/viewItems/{id}") 
        public @ResponseBody viewItems(@PathVariable("id") String id,Model model) throws Exception{
            //方法中使用@PathVariable获取useried的值,使用model传回页面
            //调用 service查询商品信息
            ItemsCustom itemsCustom = itemsService.findItemsById(id);
            return itemsCustom;
    }

    添加DispatcherServlet的rest配置 

    web.xml中配置

    <!-- springmvc前端控制器,rest配置 -->
        <servlet>
            <servlet-name>springmvc_rest</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!-- contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等) 如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml) -->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring/springmvc.xml</param-value>
            </init-param>
        </servlet>

        <servlet-mapping>
          <servlet-name>springmvc_rest</servlet-name>
          <url-pattern>/</url-pattern>
        </servlet-mapping>

    对静态资源的解析

    配置前端控制器的url-parttern中指定/,对静态资源的解析出现问题:

    在springmvc.xml中添加静态资源解析方法。

         <!-- 静态资源解析   包括 :js、css、img、.. -->
         <mvc:resources location="/js/" mapping="/js/**"/>
         <mvc:resources location="/img/" mapping="/img/**"/>    
    在平凡中坚持前行,总有一天,会遇见优秀的自己
  • 相关阅读:
    simple-LDAP-auth
    User Attributes
    webpack 模块标识符(Module Identifiers)
    详解webpack中的hash、chunkhash、contenthash区别
    [转] 插件兼容CommonJS, AMD, CMD 和 原生 JS
    Exif.js 读取图像的元数据
    [转] 跨域
    [转] 理解Web路由
    [转] React 是什么
    [转] Web MVC简介
  • 原文地址:https://www.cnblogs.com/mao-19/p/5703424.html
Copyright © 2011-2022 走看看