首先设置字符编码
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
登录的验证与跳转
// 1.获取html提交的表单数据 账号密码
// 通过from标签里面各元素标签(<input>)的name属性值(如“username”),
// 作为getParameter()的参数,request的key来获取值
String username = request.getParameter("username");
String password = request.getParameter("password");
String verifycoide = request.getParameter("verifycoide");
// 2.先验证验证码是否正确
// 这里设定 1234为验证码,lisi为数据库查到的用户名,123456为查到的密码
// 通过判断 数据库的数据.equals(上面获取的用户提交数据) 验证
if ("1234".equals(verifycoide)) {
// 2.1 验证码为正确,则验证用户;
if ("lisi".equals(username) & "123456".equals(password)) {
// 3.1 账号密码正确
// 如何将servlet中的变量在html页面中显示?
request.setAttribute("username", "zhangsan");//设置用户名变量 用来显示 欢迎XXX
request.getRequestDispatcher("success.html").forward(request, response);//请求转发 显示成功页面
} else {
// 3.2 账号密码错误 提示错误与登录页面
PrintWriter out =response.getWriter();
out.write("<h1>用户名或密码错误</h1>");
out.write("<br>");
out.write("<a href='login.html'>重新登录</a>");
}
} else {
// 2.2 验证码错误 请求重定向 提示错误
response.sendRedirect("error.html");
}
login.html的源码
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Login" method="post">
<div>用户名<input type="text" name="username"></div>
<div>密码 <input type="password" name="password"></div>
<div>输入验证码<input type="text" name="verifycoide" maxlength="4"></div>
<button>登录</button>
</form>
</body>