标题已经说明解决方案:将forward修改为redirect可以解决问题。
本文使用的技术栈:SSM+前端模板引擎thymeleaf
问题分析:
前端请求代码
<form th:action="@{/employee}" method="post">
...
</form>
前端报错信息
后端处理后跳转代码(使用forward报错)
@PostMapping("/employee")
public String addEmployee(Employee employee){
employeeService.addEmployee(employee);
return "forward:/employee/page/1";
}
此处因为使用forward请求转发方式会报错
日志给出报错信息
DEBUG org.springframework.web.servlet.DispatcherServlet - "FORWARD" dispatch for POST "/ssm_war_exploded/employee/page/1", parameters={masked}
WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]
DEBUG org.springframework.web.servlet.DispatcherServlet - Exiting from "FORWARD" dispatch, status 405
DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 405 METHOD_NOT_ALLOWED
此处前端控制器DispatcherServlet给出错误提示:FORWARD方式不被允许,将跳转方式修改为重定向redirect可以解决问题。
------个人异常错误记录------。