如果输入错误的用户名或密码,则显示错误页面
Display an error page if enter wrong username or password
我创建了一个登录表单,当我使用正确的用户名和密码登录时,它工作正常。我想在输入错误的用户名或密码时弹出错误消息或错误页面。这意味着控制器会将给定的用户名与数据库中的所有用户名进行比较,如果找不到给定的用户名,则需要显示错误消息或错误页面。
这在HTML或JavaScript中可能吗?
<html>
<body>
<form action="search" onsubmit="return validateForm()">
<table>
<tr><td>Username</td>
<td><input type=text name=LoginId /></td></tr>
<tr><td>Password</td>
<td><input type=password name=LoginPassword /> </td></tr>
<tr><td colspan=2>
<center>
<input type=submit value=SignIn /><br>If you forgot your password, <a href="ResetPassword"> Reset </a>your password.</center></td></tr>
</table>
</form>
</body>
</html>
SearchServlet.java
/**
* @see HttpServlet#HttpServlet()
*/
public SearchServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
CustomerDAO customerDAO = new CustomerDAO();
String username = request.getParameter("LoginId");
String password = request.getParameter("LoginPassword");
Login login = customerDAO.getLoginByName(username, password);
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<center><h1>User Information</h1></center>");
out.println("<center><table border=0x>");
out.println("<tr>");
out.println("<td>Login Id : </td><td>"+login.getLoginId()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>City : </td><td>"+login.getCity()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>State : </td><td>"+login.getState()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>Cell Number : </td><td>"+login.getCellnumber()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>Email :</td><td>"+login.getEmail()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>Address :</td><td>"+login.getAddress()+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>ZipCode : </td><td>"+login.getZipcode()+"</td>");
out.println("</tr>");
out.println("</table></center>");
out.println("<p>If these details are correct press continue or to change your information press update.</p>");
out.println("<form action='Continue.jsp'>");
out.println("<center><input type=submit value=continue></center>");
out.println("</form>");
out.println("<form action='search'>");
out.println("<center><a href=Update?City="+login.getCity()+"&State="+login.getState()+"&PhoneNumber="+login.getCellnumber()+"&Email="+login.getEmail()+"&Address="+login.getAddress()+"&ZipCode="+login.getZipcode()+"> update </a></center>");
out.println("</form>");
out.println("</body></html>");
Login l = new Login();
l.setLoginId(request.getParameter("LoginId"));
if(l!=null) {
HttpSession session = request.getSession();
session.setAttribute("l", l);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
客户道.java
public class CustomerDAO 扩展 BaseDAO{
public Login getLoginByName(String username, String password) {
Login login = null;
try {
BaseDAO baseDAO = new BaseDAO();
Connection c =baseDAO.getConnection();
// String query = "select * from test.Login where LoginId=? && LoginPassword=?";
String query = "select * from test.Customer where LoginId=? && LoginPassword=?";
PreparedStatement ps = c.prepareStatement(query);
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
login = new Login();
login.setLoginId(rs.getString("LoginId"));
login.setCity(rs.getString("City"));
login.setState(rs.getString("State"));
login.setCellnumber(rs.getString("PhoneNumber"));
login.setEmail(rs.getString("Email"));
login.setAddress(rs.getString("Address"));
login.setZipcode(rs.getInt("ZipCode"));
System.out.println();
}
c.close();
}catch(Exception e) {
System.err.println("Username or Password you enterd is incorrect.");
}
return login;
}
有没有办法在 servlet 中创建简单的错误消息? 但是我需要再次重新加载页面。
谢谢。
如果您要重新加载页面的一部分,则应使用 java 脚本通过 ajax 发布您的用户名和密码,如果它们不匹配,您可以显示错误消息。
另一方面,您可以使用JSP页面在服务器端验证用户名和密码,如果它们不匹配,则可以显示错误消息,但必须再次加载整个页面。
我建议您使用第一个Ajax
.它更快。
这肯定会通过JavaScript来完成。控制器应该将用户路由到错误页面,或者您需要 validateForm() 函数来使用警报函数来处理某些事情。即
if (!valid) {
alert("The username and/or password are invalid. Please try again");
}
相关文章:
- jquery表单验证复选框错误显示
- 为什么Inspect元素中的错误显示函数myNUM()没有定义?如何定义函数
- 禁用文本框的脚本错误显示
- 为什么错误显示为函数体之前缺少{
- Firefox SDK:包括jquery.flot在内的问题,错误显示维度高度为空
- 版边上出现错误“显示临时标题”
- 自定义错误显示在自定义位置,而不是每个元素旁边
- JavaScript错误显示在浏览器中
- jQuery tonum 是刨丝器,然后如果错误显示错误,则从没有
- 根据发现的错误显示不同的引导程序警报消息
- Javascript代码错误显示未定义的值
- 将输入字段值传入angularjs $resource undefined,错误显示未知的作用域提供商
- JavaScript错误显示在Joomla1.5页面
- 使用ruby生成节点并使用javascript错误显示它们
- d3js:条形图是不可见的,没有错误显示
- 与一些javascript,密码/用户名错误显示
- JavaScript错误显示表
- Javascript(与相位器)错误显示游戏的颜色-括号
- Jquery表单验证错误显示Div
- Php错误显示,而访问输入类型=文件使用jquery/ajax方法