第6章 详细设计
图5-4 用户注册图
用户名验证需要对用户提交的信息进行唯一性查询。如果该用户不存在,提示“恭喜您,这个名字可以使用”,否则提示“对不起,该用户名已经存在,请重新选择”,需要重新输入用户名。用户名和密码经验证测试成功后,方可进入到填写详细信息的页面,运行效果如图5-5所示。
图5-5 用户注册个人信息图
用户注册的关键代码:
27
第6章 详细设计
public List getRegInfo(String username){
}
填写完所有信息之后,成功注册则向数据表member中插入一条数据并提示“注册成功!恭喜您成为火车票预订系统的注册会员,登陆后您可以发布业务信息”,运行效果如图5-6所示。
String sql = \DBO dbo = new DBO(); list = new ArrayList(); dbo.open(); try{
rs = dbo.executeQuery(sql); rs.next();
list.add(rs.getInt(\
list.add(rs.getString(\真实姓名 list.add(rs.getString(\性别 list.add(rs.getString(\生日 list.add(rs.getString(\省份 list.add(rs.getString(\城市 list.add(rs.getString(\联系电话 list.add(rs.getString(\电子邮件 list.add(rs.getString(\密码问题 list.add(rs.getString(\问题回答 return list;
e.printStackTrace(); return list; dbo.close();
where username='\
}catch(Exception e){
}finally{ }
28
第6章 详细设计
图5-6 用户注册成功图
2.用户登录
点击会员中心,进入用户登录页面,用来输入用户名、密码和验证码。用户登录页面运行效果如图5-7所示:
图5-7 用户登录图
用户登录成功页面运行效果如图5-8所示:
图5-8 用户登录成功图
用户登录关键代码如下: String username =
Filter.escapeHTMLTags(request.getParameter(\String password =
Filter.escapeHTMLTags(request.getParameter(\String reg_type =
Filter.escapeHTMLTags(request.getParameter(\
29
第6章 详细设计
String lastip = request.getRemoteAddr();
int flag = memberBean.memberLogin(username, password, reg_type); if(flag == Constant.SUCCESS){//登陆成功
String info = memberBean.getLastTimeIP(username); int flag2 = memberBean.upmemberLogin(username, lastip); if(flag2 == Constant.SUCCESS){
session.setAttribute(\session.setAttribute(\session.setAttribute(\
request.getRequestDispatcher(\response); }
用户登录验证页面/login.jsp会对index.jsp提交的信息进行验证,如果正确则直接跳转会员个人功能页面,否则提示“用户名或密码错误”。如果用户点击的是“注册会员”按钮,则会转向user/register.jsp页面。
3.密码找回
当用户忘记登录密码会给用户带来不必要的麻烦。用户可以根据用户名、提示问题及问题答案找回密码。密码找回运行效果如图5-9所示:
图5-9 密码恢复图
密码找回关键代码如下:
String username=request.getParameter(\
30
第6章 详细设计
String question=request.getParameter(\String answer=request.getParameter(\String reg_type=request.getParameter(\
String info=memberBean.returnPwd(username, question, answer, reg_type);
4.修改登录密码
会员密码修改只有在登录后才能够进行。其链接位置位于会员个人页面的导航条上,其运行效果如图5-10所示:
if(info.trim().equals(\ } else{ }
request.setAttribute(\您的新密码为\,请登request.getRequestDispatcher(\request.setAttribute(\信息错误!\
request.getRequestDispatcher(\
response);
录后修改!\response);
图5-10 修改登录密码图
5.用户注册信息修改
用户注册信息修改也只有在登录后才能够进行。其链接位置同样位于会员个人页面的导航条上,用户注册信息修改页面/ personreg.jsp运行效果如图5-11所示:
31