2017-04-11 143 views
0

我有一个请求方法发布不支持的错误为我的网站,并不能找出我出错的地方,道歉,如果它有一个非常简单的解决方案,这是我的第一个春季项目。我查看了类似的问题,其中大部分看起来是由请求方法中的某种错误造成的,但我在代码中找不到原因。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方法。 (不完全知道这是有人问正确的事情吗?)

+0

可以请你检查或提供Chrome或Firefox开发人员工具请求的屏幕截图?它应该显示表单正在调用的URL。尝试使用工具手动发布请求以及查看端点是否正常工作。我使用Postman的Chrome插件。 –

+0

您的路径不完整。你能显示你的索引页面路径吗?您的索引路径将如“http:// localhost:8080/springexample/something”。 – 2017-04-12 09:16:39

+0

我不确定您的索引页路径是什么意思?我的索引页按预期工作。从索引页面到注册页面的路径是通过href完成的。 –

回答

0

您的路径是不完整的:

<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”,但仍然得到相同的错误,为什么这可能是任何想法? –

相关问题