2017-04-11 12 views
0

Ich habe eine Request-Methode Post nicht unterstützten Fehler für meine Website und kann nicht herausfinden, wo ich falsch gelaufen bin, Entschuldigung, wenn es eine sehr einfache Lösung hat, das ist mein erstes Frühjahr Projekt. Ich habe mir ähnliche Fragen angesehen, und die meisten scheinen durch eine Art Tippfehler in der requestMethod verursacht worden zu sein, aber ich kann den Grund in meinem Code nicht finden.Spring MVC - Request Methode Beitrag nicht unterstützt

Das Anmeldeformular:

<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> 

Das Verfahren, das Formular zu handhaben:

@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"; 
} 

}

ich den Controller so zu vereinfachen versucht, das Problem zu lokalisieren, aber nicht gelingt, es zu bekommen arbeiten.

Jedes Mal, wenn ich den Absenden-Button klicken Sie auf das Formular, bekomme ich folgende Fehlermeldung:

osweb.servlet.PageNotFound: Request-Methode ‚POST‘ nicht

unterstützt

Irgendwelche Ideen auf, was dies verursacht werden kann, ? Vielen Dank!

Bearbeiten: Die Screenshot der Post-Methode aus dem Entwickler-Tool. (Nicht ganz sicher, ob dies die richtige Sache, die gefragt wurde?)

+0

Können Sie bitte überprüfen oder den Screenshot für die Chrome- oder Firefox-Entwickler-Tools-Anfrage bereitstellen? Es sollte die URL anzeigen, die das Formular aufruft. Verwenden Sie ein Tool, um die Anforderung manuell zu posten, um festzustellen, ob der Endpunkt ordnungsgemäß funktioniert. Ich benutze Postman Addon für Chrome. –

+0

Ihr Pfad ist unvollständig. Können Sie Ihren Indexseitenpfad anzeigen? Ihr Indexpfad ist wie "http: // localhost: 8080/springexample/something". –

+0

Ich bin nicht sicher, was Sie mit meinem Indexseitenpfad meinen? Meine Indexseite funktioniert wie erwartet. Der Pfad von meiner Indexseite zur Anmeldeseite erfolgt über einen href. –

Antwort

0

Ihr Weg ist unvollständig:

<form action="/register" method="post" class="form" role="form" 
      commandName="userForm"> 

Sie brauchen etwas hinzufügen wie:

<form action="http://localhost:8080/register" method="post" class="form" role="form" 
      commandName="userForm"> 
+0

Danke für die Antwort, Ich habe den Pfad zu "https: // localhost: 8090/register" geändert, aber immer noch den gleichen Fehler, jede Idee, warum dies sein könnte? –

Verwandte Themen