在form中,method只用GET/POST。如果使用PUT/DELETE呢
在spring 的web应用中使用PUT/DELETE访问方式:代码如下:
<form th:action="@{/app/account/update}" method="post"> <input type="hidden" name="_method" value="PUT" /> <input type="submit" value="submit" /> </form>
将你要的访问方式如下<input type="hidden" name="_method" value="PUT" />放到form中,并设置form的方式method="post"。
为什么是这样呢?
因为在页面访问要通过一个spring过滤器:HiddenHttpMethodFilter
代码如下:
public class HiddenHttpMethodFilter extends OncePerRequestFilter { /** Default method parameter: {@code _method} */ public static final String DEFAULT_METHOD_PARAM = "_method"; private String methodParam = DEFAULT_METHOD_PARAM; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { //当method的方式为post并且_method不为空 String paramValue = request.getParameter(this.methodParam); if ("POST".equals(request.getMethod()) && StringUtils.hasLength(paramValue)) { String method = paramValue.toUpperCase(Locale.ENGLISH);//转大写英文 //关键之处 HttpServletRequest wrapper = new HttpMethodRequestWrapper(request, method); filterChain.doFilter(wrapper, response); } else { filterChain.doFilter(request, response); } } //method转换 /** * Simple {@link HttpServletRequest} wrapper that returns the supplied method for * {@link HttpServletRequest#getMethod()}. */ private static class HttpMethodRequestWrapper extends HttpServletRequestWrapper { private final String method; public HttpMethodRequestWrapper(HttpServletRequest request, String method) { super(request); this.method = method; } @Override public String getMethod() { return this.method; } } }
这样一看就明明白白了。。。
@RequestMapping(value="/update",method=RequestMethod.PUT) public String update() throws Exception{ System.out.println("test"); return "account/get"; }
相关推荐
12. **RESTful API支持**:Spring Web MVC通过@RequestMapping和HTTP动词(GET、POST、PUT、DELETE等)支持创建RESTful Web服务。 13. **国际化的支持**:通过MessageSource和LocaleResolver,Spring Web MVC可以...
【CXF与Spring整合Web服务详解】 在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨...
- Spring Web支持创建RESTful服务,通过HTTP动词(GET、POST、PUT、DELETE)和URI资源来操作数据。 12. **异常处理**: - 可以全局统一处理异常,通过`@ControllerAdvice`和`@ExceptionHandler`注解。 13. **...
13. **RESTful API**: Spring MVC支持构建RESTful Web服务,利用HTTP方法(GET、POST、PUT、DELETE等)表示资源的操作。 14. **Async Support**: Spring MVC提供了异步处理支持,允许控制器方法返回`DeferredResult...
RESTful Web服务则是通过HTTP方法(GET、POST、PUT、DELETE等)来操作资源,符合 Representational State Transfer(表述性状态转移)原则。Spring MVC可以轻松地创建符合REST原则的控制器,处理这些HTTP请求。 二...
5. **Restful**:RESTful是一种Web服务设计风格,强调使用HTTP方法(GET、POST、PUT、DELETE等)来操作资源。本项目中提到提供Restful风格的调用接口,意味着服务器端会提供一组符合REST原则的API,允许客户端以统一...
12. **RESTful服务**:Spring MVC支持创建RESTful风格的Web服务,使用HTTP动词(GET、POST、PUT、DELETE等)和资源URL来实现服务接口。 13. **JSON处理**:Spring MVC与Jackson或Gson等库集成,方便地将Java对象...
它支持HTTP方法(GET、POST、PUT、DELETE等)、路径变量、请求参数,以及JSON、XML等多种数据格式的处理,大大简化了RESTful服务的开发。 五、WebSocket支持 Spring Web还提供了WebSocket支持,允许双向通信,即...
它提供了服务端和客户端的实现,使得开发者能够快速地创建和调用Web服务。Axis2使用XMLBeans或Aegis作为数据绑定引擎,将XML与Java对象映射。 6. Spring Web Services: Spring框架提供了Spring Web Services模块...
11. **RESTful支持**:Spring MVC支持创建RESTful风格的Web服务,通过@RequestMapping注解的HTTP方法属性,可以轻松实现GET、POST、PUT、DELETE等操作。 12. **拦截器**:Spring MVC中的拦截器(HandlerInterceptor...
在本教程中,我们将探讨如何基于 Java Spring 框架将一个特定的类的方法对外提供 RESTful 服务并进行调用。首先,我们有一个名为 `Person` 的类,包含姓名 (name)、年龄 (age) 和性别 (gender) 属性,以及对应的 ...
在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储过程,然后编写 Java 代码使用 Spring JdbcTemplate 调用...
总的来说,创建Web应用程序和服务以及调用Web Service是IT专业人员必备的技能。从需求分析、设计、编码到测试,每个环节都需要严谨对待。通过学习和实践,你可以开发出高效、稳定的Web应用,为用户提供卓越的体验。
这些接口遵循HTTP协议,使用GET、POST、PUT、DELETE等方法,返回JSON格式的数据。订单服务通过发送HTTP请求来调用这些接口。 2. **Spring Web**:Spring Boot的web模块提供了创建RESTful服务的能力。我们可以在控制...
- **PUT和DELETE请求**:同理,使用`put()`和`delete()`方法。 3. **处理响应** `RestTemplate`返回的`ResponseEntity`对象包含HTTP响应的状态码、头信息和实体内容。可以使用`getStatusCode()`、`getHeaders()`...
- **统一接口**:REST API采用一套统一的操作集合来与资源进行交互,主要包括GET、POST、PUT、DELETE等HTTP方法。 - **C/S架构**:RESTful服务通常基于客户端/服务器架构,客户端发起请求,服务器提供服务。 - **无...
项目中提供的`rest-service`可能是实现更复杂REST接口的代码示例,可能包含了处理其他HTTP方法(如POST、PUT、DELETE)、处理参数、异常处理、JSON数据绑定等内容。`1.1.png`和`1613193252.png`可能是教程中用来辅助...
6. **RESTful API设计**: Spring Data REST遵循REST原则,如使用HTTP方法(GET、POST、PUT、DELETE)对应资源的操作,使用URI表示资源,并通过HTTP状态码传递响应状态。在项目中,可以自定义HATEOAS(超媒体作为应用...
RESTful服务通常通过HTTP方法(GET、POST、PUT、DELETE等)暴露其功能,并返回JSON或XML格式的数据。 4. **Maven**: Maven是Java项目管理工具,用于构建、管理和部署项目。它通过POM(Project Object Model)文件来...