SpringMVC(八)

 公司新闻     |      2019-12-19 05:38

       前语:简述现在互联网盛行的RestFul风格,并经过完成一个增修改查用例实例demo,以展示SpringMVC对RestFul风格的支撑。

本篇文章要点重视以下问题:

       REST:即 Representational State Transfer。体现层状况转化。是现在最盛行的一种互联网软件架构。它结构明晰、契合规范、易于了解、扩展便利,所以正得到越来越多网站的选用。

       下面临几个关键词做扼要论述:

        比方:

 

示例: 
/order/1 HTTP GET :得到 id = 1 的 order
/order/1 HTTP DELETE:删去 id = 1的 order
/order/1 HTTP PUT:更新id = 1的 order
/order HTTP POST:新增 order

 

         一般的浏览器一般只支撑GET、POST恳求,而DELETE、PUT 等 method 并不支撑,Spring3.0 添加了一个过滤器,能够将这些恳求转换为规范的 http 办法,使得支撑 GET、POST、PUT 与DELETE 恳求。

        在web.xml中装备此过滤器:

 !-- 装备 org.springframework.web.filter.HiddenHttpMethodFilter: 能够把 POST 恳求转为 DELETE 或 POST 恳求 -- 
 filter 
 filter-name HiddenHttpMethodFilter /filter-name 
 filter-class org.springframework.web.filter.HiddenHttpMethodFilter /filter-class 
 /filter 
 filter-mapping 
 filter-name HiddenHttpMethodFilter /filter-name 
 url-pattern /* /url-pattern 
 /filter-mapping 
SpringMVC 处理静态资源:
1. 为什么会有这样的问题:
 高雅的 REST 风格的资源URL 不期望带 .html 或 .do 等后缀
 若将 DispatcherServlet 恳求映射装备为 /, 
 则 Spring MVC 将捕获 WEB 容器的一切恳求, 包含静态资源的恳求, SpringMVC 会将他们当成一个一般恳求处理, 
 因找不到对应处理器将导致过错。
2. 处理: 在 SpringMVC 的装备文件中装备 mvc:default-servlet-handler/ 

 


        前台代码能够参阅附件,这儿只看后台完成:


@RequestMapping
public String getAllUser{
 System.out.println;
 map.put);
 return "list";
}

         @RequestMappingq注解的value特点指明URL,method特点指明恳求方法为GET。

 


 
          前台代码能够参阅附件,这儿只看后台完成:



@RequestMapping
public String toAddUser{
 System.out.println;
 return "addUser";
}

       @RequestMappingq注解的value特点指明URL,method特点指明恳求方法为GET。

         前台代码能够参阅附件,这儿只看后台完成:

@RequestMapping
public String addUser{
 System.out.println;
 userService.addUser;
 return "redirect:/users";
}

         @RequestMappingq注解的value特点指明URL,method特点指明恳求方法为POST。


 form action="" method="POST" 
 input type="hidden" name="_method" value="DELETE"/ 
 /form 
 a href="user/${user.id}" 删去 /a 
 script type="text/javascript" 
 ${
 $.click{
 var href = $.attr;
 $.attr.submit; 
 return false;
 /script 
@RequestMapping
public String delUser String id){
 System.out.println;
 userService.delUser;
 return "redirect:/users";
}