JavaEE 之 RESTful

1.RESTful

  a.定义:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

  b.四种方式:

    GET:/blog/1 HTTP GET =>  得到id=1的blog     一般用于读取

    DELETE:/blog/1 HTTP DELETE => 删除id=1的blog  用于删除

    PUT:/blog/1 HTTP PUT =>  更新id=1的blog 用于更新

    POST:/blog   HTTP POST =>  新增BLOG 用于增删改

2.使用步骤

  a.将myRest中jar包考入

  b.在web.xml中配置

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

  c.在mySpring-servlet.xml中配置

    <mvc:annotation-driven />
    <mvc:resources mapping="/img/**" location="/img/" />
    <mvc:resources mapping="/js/**" location="/js/" />
    <mvc:resources mapping="/css/**" location="/css/" />
    <mvc:resources mapping="/html/**" location="/html/" />
    <mvc:default-servlet-handler />    

    以及

    <bean id="myResourceHandler" name="myResourceHandler"
        class="org.springframework.web.servlet.resource.ResourceHttpRequestHandler">
        <property name="locations" value="/" />
        <property name="supportedMethods">
            <list>
                <value>GET</value>
                <value>DELETE</value>
                <value>PUT</value>
                <value>POST</value>
            </list>
        </property>
    </bean>

  d.建SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <package name="com.wode.bean"/>
    </typeAliases>
</configuration>

  e.在html中

        $("button").bind("click",function(){
            $.ajax({
                   type: "put",
                   url: "../user/update/13",
                   data: {name:"zhangsan",location:"chengdu"},
                   success: function(msg){
                     alert( "Data Saved: " + msg );
                   }
                });
        })

  f.Controller中书写

@RequestMapping("/user")
public class HelloController {
    // http://127.0.0.1:8080/myRestFul/user/update/3
    @RequestMapping(path="/update/{id}",method=RequestMethod.PUT)
    public void upUser(@PathVariable("id")int id,String name,String location,PrintWriter pt){
        //用户的修改
        System.out.println("用户执行了更新"+id+" "+name+" "+location);
        pt.println("hello world");
    }
}

  g.注意:put方式还需在web.xml中配置

  <filter>
      <filter-name>httpPutFormFilter</filter-name>
      <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
  </filter>
   <filter-mapping>
           <filter-name>httpPutFormFilter</filter-name>
           <servlet-name>myRest</servlet-name>
   </filter-mapping>
时间: 2024-10-19 10:55:23

JavaEE 之 RESTful的相关文章

我的后端开发书架2015 2.0版

<Java并发编程实战> 人手一本不用多说了. <深入理解 Java 虚拟机 第2版> 深入理解虚拟机并不是那么难,Java程序员都该看看,很多知识其实是必须的.另外还有几本类似主题的,忽然一下子都出来了. <Java性能优化权威指南> 虽然后面的章节好像用处不大,前面有些部分还是值得看,不过Gosling说圣经有点过了. <写给大忙人看的Java SE 8> 事实上,为了保持兼容性,很多项目还保持在JDK5/6上,这本书一次过将JDK7/JDK8的更新讲了

Java后端书架

本书架主要针对Java后端开发与架构. 更新记录:4.0版把第五部份-具体技术的书整块拿掉了.<TCP/IP详解 卷1:协议>出到了第二版,增加<SRE:Google运维解密>,<Java8 实战>. 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录. 1. 操作系统与网络的书 <Linux内核设计与实现 第3版>Robert Love用最薄的篇幅,顺畅的

我的Java后端书架 (2016年暖冬版)

本书架主要针对Java后端开发与架构. 更新记录:4.0版把第五部份-具体技术的书整块拿掉了.<TCP/IP详解 卷1:协议>出到了第二版,增加<SRE:Google运维解密>,<Java8 实战>. 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录. 1. 操作系统与网络的书 <Linux内核设计与实现 第3版>Robert Love用最薄的篇幅,顺畅的

给大家推荐一些后端开发书

1. 操作系统与网络的书 <Linux内核设计与实现 – Linux Kernel Development 第3版>Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,比<深入理解Linux内核>,<深入Linux内核架构>之类厚厚的全是代码的,不是专门的内核程序员看这本足够了.<Linux系统编程 第2版>继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解.<性能之巅>操作系统的性能

我的Java后端书架2016年暮春3.0版(转)

书架主要针对Java后端开发. 3.0版把一些后来买的.看的书添补进来,又或删掉或降级一些后来没有再翻开过的书. 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录. 1. 操作系统与网络的书 <Linux内核设计与实现 - Linux Kernel Development 第3版>Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,比<深入理解Linux内

【劳动节江南白衣Calvin 】我的后端开发书架2015

自从技术书的书架设定为”床底下“之后,又多了很多买书的空间.中国什么都贵,就是书便宜. 不定期更新,在碎片化的阅读下难免错评. 书架主要针对Java后端开发,书单更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡. 1. 操作系统与网络的书 <Linux内核设计与实现 - Linux Kernel Development>Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚

[转载]我的Java后端书架 (2016年暖冬4.0版)

[转载]我的Java后端书架 (2016年暖冬4.0版) ps:最近正在初学Java,有一些其他语言的底子,但是还是要好好看书,好好练习,网上找了好久,都没有这份书单来的实用,特意转载过来,方便以后查看, 作者为开源项目SpringSide的发起人江南白衣,文章最后有原文的链接,以此表示对大神的敬仰! 本书架主要针对Java后端开发与架构. 更新记录:4.0版把第五部份-具体技术的书整块拿掉了.<TCP/IP详解 卷1:协议>出到了第二版,增加<SRE:Google运维解密>,&l

我的后端开发书架2015

我的后端开发书架2015 自从技术书的书架设定为"床底下"之后,又多了很多买书的空间.中国什么都贵,就是书便宜. 不定期更新,在碎片化的阅读下难免错评. 书架主要针对Java后端开发,书单更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡. 1. 操作系统与网络的书 <Linux内核设计与实现 - Linux Kernel Development> Robert Love用最薄的

后端开发书架2015

自从技术书的书架设定为”床底下“之后,又多了很多买书的空间.中国什么都贵,就是书便宜. 不定期更新,在碎片化的阅读下难免错评. 书架主要针对Java后端开发,书单更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡. 1. 操作系统与网络的书 <Linux内核设计与实现 - Linux Kernel Development>Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚