jsp用户登录报错时候重定向页面保留错误的输入信息
时间: 2023-07-16 09:13:36 浏览: 47
可以通过在重定向页面中添加参数的方式来实现保留错误的输入信息。
例如,在登录页面提交表单后,如果验证失败,可以在重定向到登录页面的同时,将错误的用户名和密码作为参数传递给登录页面。在登录页面中,可以使用这些参数来显示错误信息和保留用户输入的内容。
示例代码如下:
```java
// 在登录页面中获取错误信息和用户输入的用户名和密码
String error = request.getParameter("error");
String username = request.getParameter("username");
String password = request.getParameter("password");
// 显示错误信息和保留用户输入的内容
if (error != null) {
out.println("<p style='color: red;'>登录失败,请检查用户名和密码!</p>");
}
out.println("<form action='login.jsp' method='post'>");
out.println("用户名:<input type='text' name='username' value='" + (username != null ? username : "") + "'><br>");
out.println("密码:<input type='password' name='password' value='" + (password != null ? password : "") + "'><br>");
out.println("<input type='submit' value='登录'>");
out.println("</form>");
// 在登录验证失败时,重定向到登录页面并传递错误信息和用户输入的用户名和密码
response.sendRedirect("login.jsp?error=1&username=" + URLEncoder.encode(username, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8"));
```
在上述代码中,`request.getParameter()` 方法用于获取登录页面提交的参数,`URLEncoder.encode()` 方法用于对参数进行 URL 编码,以便在 URL 中传递。在重定向到登录页面时,使用 `response.sendRedirect()` 方法,并将错误信息和用户输入的用户名和密码作为参数传递。在登录页面中,根据参数是否存在来显示错误信息和保留用户输入的内容。