servlet----登录页面----一个有冗余代码的登录页面

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);

 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值