java - 由于“不支持请求方法'POST'”,Hibernate 无法持久化对象
问题描述
我遇到以下问题:
这是我的表单代码:
<form:form class="form-material validate-form" modelAttribute="Usuario_form" action="${pageContext.request.contextPath}/FormActionUser" method="POST" id="userForm">
这是我的控制器代码:
@RequestMapping(value = "/FormActionUser", method = RequestMethod.POST, params = "Crear")
public ModelAndView CrearUsuario(HttpServletRequest request, HttpServletResponse response,
@ModelAttribute("Usuario_form") Usuario usuario_form) {
System.out.println("*****" + request.getMethod() + "*****");
usuario_servicio.AgregarUsuario(usuario_form);
}
当然输出System.out.println("*****" + request.getMethod() + "*****");
是*****POST*****
这是我的usuario_servicio.AgregarUsuario(usuario_form);
代码:
public void AgregarUsuario(Usuario u) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(u);
}
我得到了org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.logException Resolved exception caused by handler execution: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported
错误。
解决方案
通过 POST 请求发送表单时尝试发送 csrf 令牌。将下一个输入添加到您的表单中:
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
推荐阅读
- node.js - google picker to drive files with access token from backend 结果请登录错误
- permissions - 即使我是所有者,也无法在 gitlab 中推送到远程仓库
- c++ - 我正在寻找有关使用朋友还是编写吸气剂更好的建议,但是(某种程度上)打破了封装?
- dart - 从 Aqueduct 中的中间件获取用户
- c# - 如何稍后在运行时配置选项?
- python - 为什么我保存视频时,动画会显示在 matplotlib FuncAnimation 函数中绘制的曲线下方?
- go - 在模板中使用表格
- python - Pandas DataFrame Groupby 如何将组作为列表获取并获取特定列的平均值
- json - 邮递员:从邮递员 POST 请求中接收语法错误
- typescript - 打印数字而不显示打印机预览