浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求。
1.配置springmvc配置文件springmvc-servlet.xml
<!-- 浏览器不支持put,delete等method,由该filter将/xxx?_method=delete转换为标准的http delete方法 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<servlet-name>springmvc</servlet-name>
</filter-mapping>
其中springmvc是DispatcherServlet的名称
2.在对应的Controller中,添加对应的请求注解
/** 进入新增 */
@RequestMapping(value="/new")
/** 显示 */
@RequestMapping(value="/{id}")
/** 编辑 */
@RequestMapping(value="/{id}/edit")
/** 保存新增 */
@RequestMapping(method=RequestMethod.POST)
/** 保存更新 */
@RequestMapping(value="/{id}",method=RequestMethod.PUT)
/** 删除 */
@RequestMapping(value="/{id}",method=RequestMethod.DELETE)
/** 批量删除 */
@RequestMapping(method=RequestMethod.DELETE)
进入新增页面时没有用add而是用new,是因为某些浏览器会将add当做广告拦截掉。
3.页面请求
<form:form action="/xxx/xxx" method="put">
</form:form>
生成的页面代码会添加一个hidden的_method=put,并于web.xml中的HiddenHttpMethodFilter配合使用,在服务端将post请求改为put请求
<form id="userInfo" action="/xxx/xxx" method="post">
<input type="hidden" name="_method" value="put"/>
</form>
另外也可以用ajax发送delete、put请求
分享到:
相关推荐
SpringMVC 也支持 RESTful 风格的 Web 服务,可以通过 @RequestMapping 注解配合 HTTP 方法(GET、POST、PUT、DELETE 等)来创建符合 REST 规范的 API。 十二、单元测试 SpringMVC 提供了 MockMVC 工具,可以方便地...
13. **RESTful API**:通过配置,SpringMVC可以很好地支持RESTful风格的Web服务,利用HTTP动词(GET、POST、PUT、DELETE等)和URI来表示资源和操作。 燕青老师的课堂教案详细讲解了这些概念,并可能通过实例演示...
- RESTful风格的URL设计用于创建、读取、更新和删除(CRUD)操作,通过HTTP方法(GET、POST、PUT、DELETE)对应不同的操作。 - SpringMVC支持使用@RequestMapping和HTTP方法来实现RESTful服务。 8. **国际化**: ...
- SpringMVC支持创建RESTful服务,通过@RequestMapping的GET、POST、PUT、DELETE等HTTP方法实现资源操作。 15. **测试**: - SpringMVC提供了MockMvc工具,可以在不依赖服务器的情况下进行单元测试和集成测试。 ...
对于PUT和DELETE等非标准HTTP方法,需要添加HiddenHttpMethodFilter过滤器,并在表单中添加隐藏域来模拟这些请求。 在方法参数中,可以直接传递POJO,SpringMVC会自动将请求参数绑定到对象属性。也可以使用Servlet...
10. **RESTful API**:SpringMVC通过@RequestMapping配合HTTP动词(GET、POST、PUT、DELETE等)可以轻松创建符合RESTful风格的API。 通过学习和掌握SpringMVC,开发者能够构建出结构清晰、易于维护的Web应用。同时...
SpringMVC可以轻松构建RESTful服务,通过HTTP方法(GET、POST、PUT、DELETE等)和@RequestMapping的produces和consumes属性,可以创建符合REST原则的API。 12. **测试**: SpringMVC提供了MockMvc工具,允许在不...
例如,通过POST请求添加新的哈希记录,GET请求查询特定哈希,PUT请求更新哈希,DELETE请求删除哈希。 通过这样的整合,SpringMVC应用能够利用Redis的高速缓存能力,提高数据处理速度,尤其在处理高并发请求时,可以...
7. **RESTful风格的支持**:SpringMVC 4.0增强了对HTTP方法(GET、POST、PUT、DELETE等)的支持,方便构建RESTful Web服务,通过@RequestMapping注解的params、headers属性可以精确匹配HTTP请求的参数和头信息。...
13. **RESTful支持**:通过@RequestMapping和HTTP方法(GET、POST、PUT、DELETE等)支持RESTful风格的Web服务。 14. **国际化与本地化**:SpringMVC提供对不同语言和地区的支持,可以通过LocaleResolver和...
1. **URL映射与请求方法**:RESTful服务通常通过URL来标识资源,并使用HTTP的方法(GET、POST、PUT、DELETE等)来表示操作。Spring MVC提供`@RequestMapping`注解,允许我们为控制器类或方法指定URL模板,同时通过`@...
10. **RESTful风格**:SpringMVC支持RESTful编程风格,可以通过@RequestMapping的path变量、HTTP动词(GET、POST、PUT、DELETE等)来构建清晰、无状态的API。 11. **上传下载**:SpringMVC提供了处理文件上传和下载...
3. **请求方法(HTTP Verb)**: SpringMVC支持将请求映射与特定的HTTP方法绑定,如`GET`、`POST`、`PUT`、`DELETE`等。这使得我们可以实现RESTful API,确保每个URL只处理一种操作类型。 4. **请求参数和模型属性**...
11. **RESTful API**:SpringMvc也支持创建RESTful服务,通过@RequestMapping的HTTP方法参数,可以方便地处理GET、POST、PUT、DELETE等请求。 12. **拦截器**:Interceptor可以对请求和响应进行预处理和后处理,...
11. **RESTful API**:SpringMVC支持创建RESTful风格的Web服务,通过HTTP动词(GET、POST、PUT、DELETE)来操作资源。 12. **WebSocket**:SpringMVC也可以与WebSocket结合,实现实时通信。 13. **Spring Boot**:...
- SpringMVC 支持创建 RESTful 风格的 Web 服务,通过 HTTP 方法(GET、POST、PUT、DELETE)来操作资源。 14. **SpringMVC 与 Spring Boot 结合** - SpringBoot 使得 SpringMVC 的配置更简单,通过自动配置和 ...
12. **RESTful风格**:SpringMVC支持RESTful Web服务,通过@RequestMapping和HTTP动词(GET、POST、PUT、DELETE等)实现资源操作。 13. **拦截器(Interceptor)**:自定义拦截器可以对请求进行预处理和后处理,...
- 使用HTTP动词(GET、POST、PUT、DELETE等)和URI资源路径实现RESTful API设计。 - JSON支持通过`@ResponseBody`和`@RestController`注解,方便前后端交互。 9. **AJAX集成**: - 结合jQuery或其他JavaScript库...
- **@GetMapping, @PostMapping, @PutMapping, @DeleteMapping**:分别对应HTTP的GET、POST、PUT、DELETE方法,简化了@RequestMapping的使用。 - **@RequestParam**:用于从请求参数中获取值。 - **@PathVariable...
1. **请求方法类型**: `@RequestMapping`支持GET、POST、PUT、DELETE等多种HTTP请求方法。通过`method`属性,我们可以指定一个或多个允许的方法,如`method = RequestMethod.GET`。 2. **路径变量**: 使用`{}`包围...