zoukankan      html  css  js  c++  java
  • springmvc RESTful

    一、对url进行规范

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

      RESTful格式的url:http://..../items/001/T01

    二、对http的contentType规范

      请求时要json数据(contentType:'application/json;charset=utf-8')

    三、RESTful应用

      ①、controller方法

        //如果占位符中的名称和形参名一致,在@PathVariable可以不指定名称
        @RequestMapping("/itemsView/{id}")
        public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id)throws Exception{
            
            //调用service查询商品信息
            ItemsCustom itemsCustom = itemsService.findItemsById(id);
            
            return itemsCustom;
            
        }

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

        @PathVariable用于将请求URL中的变量映射到方法的参数上。

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

      ②、前端控制器配置

        <!-- 2、springmvc前端控制器,rest配置 
            2.1、配置DispatcherServlet前端控制器
            2.1、配置servlet映射(访问方式)
        -->
        <servlet>
            <servlet-name>springmvc_rest</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc_rest</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    <url-pattern>/</url-pattern>的配置前端控制器会解析静态资源(前端控制器会去处理器映射器中查找对应的Handler,是一定找不到的)

      ③、单独解析静态资源

        <!-- 静态资源解析
        包括 :js、css、img、..
         -->
         <mvc:resources location="/js/" mapping="/js/**"/>
         <mvc:resources location="/img/" mapping="/img/**"/>

    使用RESTful要特别注意静态资源的解析

  • 相关阅读:
    数组中找出最小的K个数
    温故而知新---Java(一)
    写一手简洁的代码
    同步IO与同步非阻塞IO的理解
    旋转打印矩阵
    求仅出现一次的最早字符
    spring 自定义schema 加载异常 White spaces are required between publicId and systemId.
    Java位运算知识点整理
    Idea 插件开发之DubboInvoke实践
    pinpoint插件开发实践
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15034586.html
Copyright © 2011-2022 走看看