Spring MVC - 不支持请求方法
问题描述:
我有一个请求方法发布不支持的错误为我的网站,并不能找出我出错的地方,道歉,如果它有一个非常简单的解决方案,这是我的第一个春季项目。我查看了类似的问题,其中大部分看起来是由请求方法中的某种错误造成的,但我在代码中找不到原因。Spring MVC - 不支持请求方法
的注册表格:
@Controller
public class RegistrationController {
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String viewRegistration(Map<String, Object> model) {
User userForm = new User();
model.put("userForm", userForm);
return "signup";
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String processRegistration(@ModelAttribute("userForm") User user) {
user.setId(0);
user.setEmail(user.getEmail());
user.setPassword(user.getPassword());
return "RegistrationSuccess";
}
}
我试图这样简化控制器要找准问题,但不能设法得到它:
<form action="/register" method="post" class="form" role="form"
commandName="userForm">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-6">
<input class="form-control" name="firstname"
placeholder="First Name" type="text" required autofocus />
</div>
<div class="col-xs-12 col-sm-6 col-md-6">
<input class="form-control" name="lastname"
placeholder="Last Name" type="text" required />
</div>
</div>
<br />
<div class="form-group">
<input class="form-control" name="email" placeholder="Your Email"
type="email" />
</div>
<div class="form-group">
<input class="form-control" name="reenteremail"
placeholder="Re-enter Email" type="email" />
</div>
<div class="form-group">
<input class="form-control" name="password"
placeholder="New Password" type="password" /> <label for="">
Birth Date</label>
<div class="row">
<div class="col-xs-4 col-md-4">
<select class="form-control">
<option value="Month">Month</option>
</select>
</div>
<div class="col-xs-4 col-md-4">
<select class="form-control">
<option value="Day">Day</option>
</select>
</div>
<div class="col-xs-4 col-md-4">
<select class="form-control">
<option value="Year">Year</option>
</select>
</div>
</div>
<label class="radio-inline"> <input type="radio"
name="sex" id="inlineCheckbox1" value="male" /> Male
</label> <label class="radio-inline"> <input type="radio"
name="sex" id="inlineCheckbox2" value="female" /> Female
</label> <br /> <br />
<button class="btn btn-lg btn-primary btn-block" type="submit">
Sign up</button>
</form>
处理表单的方法上班。
每当我点击提交表单按钮,我得到以下错误:
osweb.servlet.PageNotFound:请求方法“POST”不支持什么可以导致此
任何想法?谢谢!
编辑:Screenshot从开发工具的post方法。 (不完全知道这是有人问正确的事情吗?)
答
您的路径是不完整的:
<form action="/register" method="post" class="form" role="form"
commandName="userForm">
你需要添加类似:
<form action="http://localhost:8080/register" method="post" class="form" role="form"
commandName="userForm">
+0
感谢您的回复, 我已经将路径更改为“https:// localhost:8090/register”,但仍然得到相同的错误,为什么这可能是任何想法? –
可以请你检查或提供Chrome或Firefox开发人员工具请求的屏幕截图?它应该显示表单正在调用的URL。尝试使用工具手动发布请求以及查看端点是否正常工作。我使用Postman的Chrome插件。 –
您的路径不完整。你能显示你的索引页面路径吗?您的索引路径将如“http:// localhost:8080/springexample/something”。 – 2017-04-12 09:16:39
我不确定您的索引页路径是什么意思?我的索引页按预期工作。从索引页面到注册页面的路径是通过href完成的。 –