package com.adverties.servlet;
import java.sql.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.adverties.bean.Login;
public class HandleLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
public void inint(ServletConfig config) throws ServletException {
super.init(config);
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
}
public String loginInfo(String s) {
byte[] bb;
try {
bb = s.getBytes("gbk");
s = new String(bb);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return s;
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=utf-8");
Login loginBean = null;
HttpSession session = request.getSession(true);
String logname;
String password;
String backNews="";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
loginBean=(Login)session.getAttribute("login");
//-----------------
if(loginBean==null){
loginBean = new Login();
session.setAttribute("login", loginBean);
}
}catch(Exception ee){
loginBean = new Login();
session.setAttribute("login", loginBean);
}
String url = "jdbc:mysql://localhost:3306/adv";
logname=request.getParameter("logname").trim();
password=request.getParameter("password").trim();
boolean ok = loginBean.getSuccess();
logname=loginInfo(logname);
password=loginInfo(password);
if(ok==true&&logname.equals(loginBean.getLogname())){
backNews=logname+"已经登录";
loginBean.setBackNews(backNews);
}else{
boolean boo = (logname.length() > 0) && (password.length() > 0);
try{
conn = DriverManager.getConnection(url, "root", "root");
String sql = "select * from member where logname=? and password=?";
pstmt = conn.prepareStatement(sql);
if (boo) {
pstmt.setString(1, loginInfo(logname));
pstmt.setString(2, loginInfo(password));
rs = pstmt.executeQuery();
boolean m = rs.next();
if (m == true) {
backNews = "登录成功!";
loginBean.setBackNews(backNews);
loginBean.setSuccess(true);
loginBean.setLogname(logname);
loginBean.setPassword(password);
} else {
backNews = "您输入的用户名不存在,或密码不正确!";
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
loginBean.setLogname(logname);
loginBean.setPassword(password);
}
} else {
backNews = "您输入的用户名不存在,或密码不正确!";
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
loginBean.setLogname(logname);
loginBean.setPassword(password);
}
pstmt.close();
conn.close();
} catch (SQLException e) {
backNews = "" + e;
loginBean.setBackNews(backNews);
loginBean.setSuccess(false);
}
}
RequestDispatcher dispatcher = request
.getRequestDispatcher("showLoginMess.jsp");
dispatcher.forward(request, response);
}
}