2017-04-11 120 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」,但仍然得到相同的錯誤,爲什麼這可能是任何想法? –

相關問題