日期:2014-05-18 浏览次数:20935 次
//用户登录处理方法,登录servlet的实现
package ch;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Collection;
import utils.*;
public class Logon extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//取得用户提交的用户名和密码
String username=request.getParameter("username");
String password=request.getParameter("password");
//进行用户合法性验证
UserInfo user=UserBean.logon(username, password);..........................................(1)
//对登录结果进行处理
RequestDispatcher dispatcher=null;
if(user!=null)
{
//验证通过
HttpSession session=request.getSession();
session.setAttribute("session_userinfo",user);
//跳转到留言列表servlet
dispatcher=request.getRequestDispatcher("/ch/ArticleList");
}
else
{
//设置错误提示信息
request.setAttribute("msg","登录失败!可能是用户名密码输入错误或者账号被锁定!");
//跳转到用户登录页面
dispatcher=request.getRequestDispatcher("/logon.jsp");
}
dispatcher.forward(request,response);
}
}
//用户注册方法
package ch;
import java.sql.*;
import utils.*;
public class UserBean
{
//用户登录
public static UserInfo logon(String username,String password)
{
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try
{
//得到数据库的连接
conn=DatabaseBean.getConnection();
st=conn.createStatement();
//生成查询用户信息的语句
String sql="SELECT userid,username,password,email,type,status"+"FROM userinfo WHERE username='"
+username+"' AND password='"+password+"' AND status="+UserInfo.STATUS_NORMAL;
//执行查询语句
rs=st.executeQuery(sql);....................................................(2)
while(rs.next())
{
//得到查询结果
UserInfo user=new UserInfo();
user.setUserID(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
user.setEmail(rs.getString(4));
user.setType(rs.getInt(5));
user.setStatus(rs.getInt(6));
return user;
}
}
catch(SQLException ex)
{
ex.printStackTrace(System.err);
}
finally
{
//关闭数据库的连接
DatabaseBean.close(rs,st,conn);
}
return null;
}
}