Я работаю над приложением Spring-MVC. Я хочу реализовать функцию забытого пароля. Для этого я использую секретный метод вопроса. Я создал страницу JSP, где я получаю значения, такие как имя пользователя, secretanswer, а затем проверяю, существуют ли значения, а затем сохраните новый пароль, который пользователь дал. У меня проблема с страницей JSP, когда я нажимаю кнопку «Отправить», она показывает мне URL-адрес мусора. Я считаю, что это небольшая ошибка, я не вижу. Пожалуйста, дайте мне знать, что происходит не так.Выполнение Забыл пароль весной, давая мусор URL
Apache Tomcat URL ошибки:
HTTP Status 404 - /id=0,%20username=null,%20password=null
функция управления для смены пароля:
@RequestMapping(value = "/forgotpassword")
public String forgotPassword(Model model){
model.addAttribute("person",new Person());
return "forgotpassword";
}
@RequestMapping(value = "/changepassword")
public String changepassword(@ModelAttribute("person") Person f,Model model){
System.out.println("Did we reach here on submit");
personService.checkAuthenticitiy(f.getUsername(), f.getSecretanswer(), f.getNewpassword());
model.addAttribute("person", new Person());
return "redirect:/forgotpassword";
}
JSP-страницы:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Forgot Passsword page</title>
</head>
<body>
<td><a href="<c:url value='/' />" >Go Home</a></td>
<h1>
Change password
</h1>
<c:url var="addAction" value="/changepassword" ></c:url>
<form:form action="${person}" commandName="person">
<table>
<tr>
<td>
<form:label path="username">
<spring:message text="username"/>
</form:label>
</td>
<td>
<form:input path="username" />
</td>
</tr>
<tr>
<td>
<form:label path="secretquestion" >
<spring:message text="secretquestion"/>
</form:label>
</td>
<td>
<form:input path="secretquestion"/>
</td>
</tr>
<tr>
<td>
<form:label path="secretanswer" >
<spring:message text="secretanswer"/>
</form:label>
</td>
<td>
<form:input path="secretanswer"/>
</td>
</tr>
<tr>
<td>
<form:label path="newpassword" >
<spring:message text="newpassword"/>
</form:label>
</td>
<td>
<form:input path="newpassword"/>
</td>
</tr>
<tr>
<td>
<input name="submit" type="submit" value="Submit" />
</td>
</tr>
</table>
</form:form>
</body>
</html>
Person модель:
@Entity
@Table(name="person")
public class Person implements UserDetails{
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
@Column(name = "secretquestion")
private String secretquestion;
@Column(name = "secretanswer")
private String secretanswer;
@Transient
private String newpassword;
//Getters and setters for all.
}
Спасибо Pravin, я постараюсь, что завтра, как я не нахожусь в офисе больше. Вы уверены, что это единственная ошибка? –
Ya все остальное выглядит идеально для меня. Нет никакой requestMapping для $ {person}, поэтому она вызывает такую ошибку – Pravin
Конечно. Спасибо ... если это сработает, я помету ваш answer.ty. –