06restful

2019-08-05  本文已影响0人  RobertLiu123

https://www.cnblogs.com/huaxingtianxia/p/5579615.html

REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。
url不变,通过改变method类型,标识我的请求具体做什么
http://ip:port/usermanager/username/password
form----method=*****
第一个四个表示操作方式的动词:GET、POST、PUT、DELETE。
GET用来获取资源(查询)
POST用来新建资源(也可以用于更新资源 )(添加),
PUT用来更新资源(update),
DELETE用来删除资源。(delete)

第二个 在url里带参数
http://ip:port/usermanager/add/${name}/{password}

实现

1)配置web.xml里新增配置

 <!-- 支持restful -->
 <servlet>
    <servlet-name>dispatcher-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>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher-rest</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

2)写示例程序

@Controller
@RequestMapping("/rest")
public class RestController {
   @RequestMapping("/del/{id}")
   public ModelAndView delById(@PathVariable("id") int id){
       System.out.println(id);
    return null;
    }
   @RequestMapping("/add/{name}/{password}")
   public ModelAndView add(@PathVariable("name") String username,@PathVariable("password") String pwd){
       System.out.println(username);
       System.out.println(pwd);
    return null;
   }
   @RequestMapping("/update/name/{name}/password/{password}")
   public ModelAndView update(@PathVariable("name") String username,@PathVariable("password") String pwd){
       System.out.println(username);
       System.out.println(pwd);
    return null; 

}
}

3)测试
在浏览器地址栏里输入网址

http://localhost:8081/ch01-springmvc01/rest/del/123
http://localhost:8081/ch01-springmvc01/rest/add/wang.qj/123456
http://localhost:8081/ch01-springmvc01/rest/update/name/ggg/password/123456

第2节

静态资源访问权限

https://blog.csdn.net/rainbow702/article/details/54895470

配置restful之后,之前的请求http://localhost:8081/ch01-springmvc01/json/goAdd.action中的js会失效,导致请求无法提交到后台。

两种解决方案:

1、在springmvc.xml里新增静态资源访问权限,样例代码如下

<!-- 静态文件访问权限  -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/images/" mapping="/images/**"/>

第2种方式

https://blog.csdn.net/abc997995674/article/details/80513203

<mvc:default-servlet-handler/>
上一篇下一篇

猜你喜欢

热点阅读