pstmt.setString(i+1,args[i]);
returnpstmt.executeQuery();
}catch(SQLExceptione){
e.printStackTrace();
}
returnnull;
}
3.publicvoidclosed(ResultSetrs){
if(rs!
=null){
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(pstmt!
=null){
try{
pstmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(conn!
=null){
try{
if(!
conn.isClosed())
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
(1)用户注册:
新用户在enrol.jsp页面中输入用户名,密码,密码提示问题、提示问题答案,点击提交按钮,数据提交到enrolinfo.jsp中进行处理,在enrolinfo.jsp中,如果用户名已经有人使用则返回注册页面,否则提示用户注册成功,并跳转到登录后的页面index_logined.jsp。
enrolinfo.jsp的代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="entity.User"%>
<%@pageimport="dao.UserDAO"%>
<%@pageimport="dao.impl.UserDAOImpl"%>
<%
//post中文乱码处理
request.setCharacterEncoding("GBK");
Useruser=newUser();
StringUId=request.getParameter("hui");
StringUPass=request.getParameter("password");
StringUNickName=request.getParameter("Nike");
StringHead=request.getParameter("SelectAvatar");
StringGender=request.getParameter("xing");
Stringuname=request.getParameter("zname");
StringUCard=request.getParameter("card");
Stringquestion=request.getParameter("select");
StringUKey=request.getParameter("da");
user.setUId(UId);
user.setUPass(UPass);
user.setUNickName(UNickName);
user.setHead(Head);
user.setGender(Gender);
user.setUName(uname);
user.setUCard(UCard);
user.setQuestion(question);
user.setUKey(UKey);
UserDAOdao=newUserDAOImpl();
booleanbl=dao.addUser(user);
if(bl)
{
response.sendRedirect("/QNbbs/HTML/success.jsp");
}else
{
response.sendRedirect("/QNbbs/HTML/shibai.jsp");
%>
(2)用户登录:
用户在有帐号的前提下,可以在登录页面login.jsp或主页index.jsp中输入用户名和密码点击登录,系统将用户名和密码提交到doLogin.jsp中的处理,将用户提交的用户名和密码再转交给后台的Dao进行查询,如果有这样的一条记录存在则登录成功,将用户的个人信息保存在浏览器端的Session中,否则返回登录失败页面,并提示用户名或密码错误。
doLogin.jsp的代码如下:
<%@pagelanguage="java"pageEncoding="GBK"%>
<%@pageimport="entity.User"%>
<%@pageimport="dao.UserDAO"%>
<%@pageimport="dao.impl.UserDAOImpl"%>
<%
request.setCharacterEncoding("GBK");
Stringname=request.getParameter("name");
Stringpassword=request.getParameter("password");
UserDAOdao=newUserDAOImpl();
booleanbl=dao.qeury(name,password);
if(bl){
Useruser=dao.sendname(name,password);
Stringuname=user.getUNickName();
intuid=user.getID();
dao.updateUser(user);
response.sendRedirect("../HTML/index_logined.jsp");
session.setAttribute("name",uname);
session.setAttribute("uid",uid+"");
session.setAttribute("uname",user.getUNickName());
}else{
response.sendRedirect("../HTML/login_shibai.jsp");
}
%>
(3)用户注销:
已登录用户在退出网站时注销登录状态,系统将请求交给login_off.jsp处理,在login_off.jsp中修改用户最后离线时间,将修改保存到数据库中,并将浏览器端的Session的user属性移除,系统返回主页。
用户同时失去登录用户的权限,以游客身份访问网站,只能浏览主题,不能发表主题,也不能发表回复。
login_off.jsp的代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@pageimport="dao.impl.UserDAOImpl"%>
<%@pageimport="entity.User"%>
<%
Stringid=session.getAttribute("uid").toString();
i