今天用Servlet实现了一个站点用户登录功能。
流程如下:
Login.class
实现视图功能,实现一个表单,第一行为用户名,第二行为密码,第三行为提交按钮。
readservlet.class
将表单数据暂存在session中,利用RequestDispatcher实现页面跳转功能,重定向到“/validata”。
validata.class
实现数据校验。判断输入用户名与密码是否正确匹配,方法是与数据库中记录比较验证。
若用户名和密码有一为null, 则重定向回/Login。否则,
若匹配,则重定向到"/successlogin";
若不匹配,则重定向到"/failurelogin"
successlogin.class
提示成功登录,显示用户名和密码。
failurelogin.class
提示登录失败。提供重新登录功能,即重定向到/Login的功能。这个功能可以通过设置"action=\login"的表单实现,也可以通过超链接实现。
需注意的问题:
重定向的两种方法?
1. RequestDispatcher rd=request.getRequestDispatcher(URL); 或
RequestDispatcher rd=getServletContext().getRequestDispatcher(URL);
rd.forward(request,response);
2. response.sendRedirect(URL);
request.getSession(true/false)方法中参数true和false的区别?
参数为true时,若当前request包含的session为null,则创建一个新的session。
参数为false时,在上述情况下不会创建新的session。