Error: Request method 'GET' not supported
Error: Request method 'GET' not supported
我正在尝试通过 ID 删除用户。我已经能够通过 ID 搜索用户并通过 ID 更新(编辑)用户。但是,我在删除时遇到了问题。
这是我遇到的错误(Whitelabel 页面错误):
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:250)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:417)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:364)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:123)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:66)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:491)
at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1255)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1037)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:832)
User.java
package com.springbootbasics;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name= "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
public User(long id, String name) {
super();
this.id = id;
this.name = name;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
UserController.java
package com.springbootbasics;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
@RestController
public class UserController {
@Autowired
private UserRepository userData;
@GetMapping("/results")
public ModelAndView getPage() {
User usr = new User();
return new ModelAndView("searchUsers", "fn", usr);
}
@PostMapping("/results")
public ModelAndView find(@RequestParam long id) {
User usr = userData.findById(id).get();
return new ModelAndView("results", "hello", usr);
}
@GetMapping("/editemp")
public ModelAndView getupdate(@RequestParam long id) {
User usr = userData.findById(id).get();
return new ModelAndView("update", "edit", usr);
}
@PostMapping("/editemp")
public RedirectView updateEmp(User usr) {
userData.save(usr);
return new RedirectView("listemp");
}
//
@DeleteMapping("/deletetemp")
public RedirectView deleteUser(@PathVariable("id") long id)
{
userData.deleteById(id);
return new RedirectView("listemp");
}
//
@GetMapping("/listemp")
public ModelAndView listEmp() {
List<User> allUsers = (List<User>) userData.findAll();
return new ModelAndView("allUsers","employee", allUsers);
}
}
allUsers.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<body>
<h1>User page</h1>
<ul>
<c:forEach items="${employee}" var="user">
<li>${user.id}</li>
<li>${user.name}</li>
</c:forEach>
</ul>
</body>
</html>
results.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<c:forEach items="${temp}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
</tr>
</c:forEach>
</table>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of Employees</title>
</head>
<body>
<h1 style="color: blue"></h1>
<form:form action="find" method="post" modelAttribute="hello">
<table>
<tr>
<td>ID</td>
<td>${hello.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td>${hello.name}<form:hidden path="id" name="name" />
</td>
</tr>
<tr>
<td><a type="button" href="/editemp?id=${hello.id}">Update</a>
</td>
</tr>
<tr>
<td><a type="button" href="/deletetemp?id=${hello.id}">Delete</a>
</td>
</tr>
</table>
</form:form>
</body>
</html>
searchUsers.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<c:forEach items="${temp}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
</tr>
</c:forEach>
</table>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of Employees</title>
</head>
<body>
<h1 style="color: blue"></h1>
<form:form action="find" method="post" modelAttribute="hello">
<table>
<tr>
<td>ID</td>
<td>${hello.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td>${hello.name}<form:hidden path="id" name="name" />
</td>
</tr>
<tr>
<td><a type="button" href="/editemp?id=${hello.id}">Update</a>
</td>
</tr>
<tr>
<td><a type="button" href="/deletetemp?id=${hello.id}">Delete</a>
</td>
</tr>
</table>
</form:form>
</body>
</html>
update.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Update Employee</title>
</head>
<body>
<h1 style="color: blue">List of Employees</h1>
<form:form method="post" modelAttribute="edit">
<table>
<tr>
<td>ID</td>
<td>${edit.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td><input type="submit" value="save"></td>
</tr>
</table>
</form:form>
</body>
</html>
一切正常,除非用户单击 'Delete',然后出现如上所示的错误。
如“results.jsp”中所述,您在单击“删除”按钮时调用“/deletetemp?id=${hello.id}”。此场景将调用 HTTP GET 请求而不是 HTTP DELETE。 (可以使用浏览器控制台在 header 部分进行验证)
@DeleteMapping 在 RESTful 服务 API 实现的上下文中使用。您可以在 REST 服务调用中显式传递 HTTP DELETE 方法,以执行使用 @DeleteMapping 注释的方法来处理 DELETE 功能。
所以我建议像您对编辑功能所做的那样,通过@GetMapping 处理此执行。
我正在尝试通过 ID 删除用户。我已经能够通过 ID 搜索用户并通过 ID 更新(编辑)用户。但是,我在删除时遇到了问题。
这是我遇到的错误(Whitelabel 页面错误):
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:250)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:417)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:364)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:123)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:66)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:491)
at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1255)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1037)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:832)
User.java
package com.springbootbasics;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name= "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
public User(long id, String name) {
super();
this.id = id;
this.name = name;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
UserController.java
package com.springbootbasics;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
@RestController
public class UserController {
@Autowired
private UserRepository userData;
@GetMapping("/results")
public ModelAndView getPage() {
User usr = new User();
return new ModelAndView("searchUsers", "fn", usr);
}
@PostMapping("/results")
public ModelAndView find(@RequestParam long id) {
User usr = userData.findById(id).get();
return new ModelAndView("results", "hello", usr);
}
@GetMapping("/editemp")
public ModelAndView getupdate(@RequestParam long id) {
User usr = userData.findById(id).get();
return new ModelAndView("update", "edit", usr);
}
@PostMapping("/editemp")
public RedirectView updateEmp(User usr) {
userData.save(usr);
return new RedirectView("listemp");
}
//
@DeleteMapping("/deletetemp")
public RedirectView deleteUser(@PathVariable("id") long id)
{
userData.deleteById(id);
return new RedirectView("listemp");
}
//
@GetMapping("/listemp")
public ModelAndView listEmp() {
List<User> allUsers = (List<User>) userData.findAll();
return new ModelAndView("allUsers","employee", allUsers);
}
}
allUsers.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<body>
<h1>User page</h1>
<ul>
<c:forEach items="${employee}" var="user">
<li>${user.id}</li>
<li>${user.name}</li>
</c:forEach>
</ul>
</body>
</html>
results.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<c:forEach items="${temp}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
</tr>
</c:forEach>
</table>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of Employees</title>
</head>
<body>
<h1 style="color: blue"></h1>
<form:form action="find" method="post" modelAttribute="hello">
<table>
<tr>
<td>ID</td>
<td>${hello.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td>${hello.name}<form:hidden path="id" name="name" />
</td>
</tr>
<tr>
<td><a type="button" href="/editemp?id=${hello.id}">Update</a>
</td>
</tr>
<tr>
<td><a type="button" href="/deletetemp?id=${hello.id}">Delete</a>
</td>
</tr>
</table>
</form:form>
</body>
</html>
searchUsers.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<c:forEach items="${temp}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
</tr>
</c:forEach>
</table>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of Employees</title>
</head>
<body>
<h1 style="color: blue"></h1>
<form:form action="find" method="post" modelAttribute="hello">
<table>
<tr>
<td>ID</td>
<td>${hello.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td>${hello.name}<form:hidden path="id" name="name" />
</td>
</tr>
<tr>
<td><a type="button" href="/editemp?id=${hello.id}">Update</a>
</td>
</tr>
<tr>
<td><a type="button" href="/deletetemp?id=${hello.id}">Delete</a>
</td>
</tr>
</table>
</form:form>
</body>
</html>
update.jsp
<%-- <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html> --%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Update Employee</title>
</head>
<body>
<h1 style="color: blue">List of Employees</h1>
<form:form method="post" modelAttribute="edit">
<table>
<tr>
<td>ID</td>
<td>${edit.id}<form:hidden path="id" name="id" />
</td>
</tr>
<tr>
<td>Name</td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td><input type="submit" value="save"></td>
</tr>
</table>
</form:form>
</body>
</html>
一切正常,除非用户单击 'Delete',然后出现如上所示的错误。
如“results.jsp”中所述,您在单击“删除”按钮时调用“/deletetemp?id=${hello.id}”。此场景将调用 HTTP GET 请求而不是 HTTP DELETE。 (可以使用浏览器控制台在 header 部分进行验证)
@DeleteMapping 在 RESTful 服务 API 实现的上下文中使用。您可以在 REST 服务调用中显式传递 HTTP DELETE 方法,以执行使用 @DeleteMapping 注释的方法来处理 DELETE 功能。
所以我建议像您对编辑功能所做的那样,通过@GetMapping 处理此执行。