JavaEE 之 RESTful

Posted 晨M风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于JavaEE 之 RESTful的主要内容,如果未能解决你的问题,请参考以下文章

JAVAEE框架技术之17之SSM综合案例 角色管理

Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务

Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务 技术分享

Spring Cloud+Spring Boot+Mybatis+shiro+RestFul 企业分布式微服务云架构技术分享

Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务 企业分布式微服务云架构技术分享

RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查