用户测试登陆账户密码
具体需求:
登陆名称是你的学号,密码是1234,那么显示下面的内容,否则显示账户或密码错误
基于上一篇文章Servlet的配置@WebServlet("/login")完成后
第一步
写一个关于输入浏览器的方法类
代码实现:
private void showMsg(HttpServletResponse resp,String msg) throws IOException {
resp.setCharacterEncoding("utf-8"); //汉字字符编码
try {
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<header>");
out.println("<title>test</title>");
out.println("<meta charset=\"utf-8\">"); //汉字字符编码
out.println("</header>");
out.println("<body>");
out.println(msg);
out.println("</body>");
out.println("</html>");
out.close();
}catch (Exception ex){
System.out.println(ex.getMessage());
}
}
}
第二步
把doGet的输出部分改成利用JAVA中Stringbuffer有append( )方法写出账户登陆提交界面并调用方法
代码实现:
@WebServlet("/login")
public class LoginController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
StringBuilder stringBuilder=new StringBuilder();
stringBuilder.append("<font size='20'>欢迎登陆XXX管理系统</font>");
stringBuilder.append("<form action='' method='post'>");
stringBuilder.append("登陆名称:<input type='text' name='lognName' value=''/><br>");
stringBuilder.append("登陆密码:<input type='text' name='lognPwd' value=''/><br>");
stringBuilder.append("<input type='submit' value='提交、'>");
showMsg(resp,stringBuilder.toString());
}
第三步
把doSet的输出部分改成判断账户密码是否正确,如果正确输出HelloXXX,如果错误输出账户或密码错误,并调用方法
代码实现:
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String loginName=req.getParameter("lognName");
String lognPwd=req.getParameter("lognPwd");
//登陆名称是你的学号,密码是1234,那么显示下面的内容,否则显示账户或密码错误
String msg=null;
if ("5197101214".equals(loginName)&&"1234".equals(lognPwd)){
msg=("<font size='20'>Hello"+loginName+"</font>");
}else {
msg=("<font size='20'>账户或密码错误</font>");
}
showMsg(resp,msg);
}
第四步
功能测试
1. 进入浏览器Servlet协议请求
2. 布局是否美观、合理
3. 提交是否成功
4. 输入正确的用户名和错误的密码,验证是否登录失败,并提示信息
用户密码正确时显示:
用户密码错误时显示: