密码登录源码(jsp+java+数据库)

jsp界面:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<style type="text/css"> 
            #code  
            {  
                font-family:Arial;  
                font-style:italic;  
                font-weight:bold;  
                border:0;  
                letter-spacing:2px;  
                color:blue;  
            }  
        </style> 
<body >
<%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){
     
%>
     <script type="text/javascript">
              alert("<%=request.getAttribute("message")%>");
         </script>
<%} %>
    <div align="center">
    <h1 style="color: red;">登陆界面</h1>
    <form action ="Servlet?method=login" method="post" onsubmit="return check()">
    <div>
            <div >
                账号<input type="text" id="a" name="name"/>
            </div>
            
            <div >
                密码<input type="password" id="b" name ="password" placeHolder='password'/>
                
            </div>
            <p>  
            <input type = "text" id = "input"/>  
            <input type = "button" id="code" onclick="createCode()"/>  
            <input type = "button" value = "验证" onclick = "validate()"/>  
            </p> 
            <input type="submit" value="登录">
            <a href="add.jsp" >注册</a>
    </div>
    </form>
    </div>

    <script type="text/javascript">
    function check(){
        var a = document.getElementById("a");
        var b= document.getElementById("b");
        if(a.value=="")
            {
            alert('账号为空');
            a.focus();
            return false;
            }
        if(b.value=="")
            {
            alert('密码为空');
            a.focus();
            return false;
            }
    }
    var code ; //在全局定义验证码   
  //产生验证码  
  window.onload = function createCode(){  
       code = "";   
       var codeLength = 4;//验证码的长度  
       var checkCode = document.getElementById("code");   
       var random = new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R',  
       'S','T','U','V','W','X','Y','Z');//随机数  
       for(var i = 0; i < codeLength; i++) {//循环操作  
          var index = Math.floor(Math.random()*36);//取得随机数的索引(0~35)  
          code += random[index];//根据索引取得随机数加到code上  
      }  
      checkCode.value = code;//把code值赋给验证码  
  }  
  //校验验证码  
  function validate(){  
      var inputCode = document.getElementById("input").value.toUpperCase(); //取得输入的验证码并转化为大写        
      if(inputCode.length <= 0) { //若输入的验证码长度为0  
          alert("请输入验证码!"); //则弹出请输入验证码  
      }         
      else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时  
          alert("验证码输入错误!@_@"); //则弹出验证码输入错误  
          createCode();//刷新验证码  
          document.getElementById("input").value = "";//清空文本框  
      }         
      else { //输入正确时  
          alert("^-^"); //弹出^-^  
      }             
  }
</script>
</body>
</html>

servlet中的方法:

    private void logincheck(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        // TODO 自动生成的方法存根
        req.setCharacterEncoding("utf-8");
        String a = req.getParameter("name");
        String b = req.getParameter("password");
        int k=service.logincheck(a,b);
        if(k==0) {
            req.setAttribute("message", "用户名或密码错误!");
             req.getRequestDispatcher("login.jsp").forward(req,resp);
        }else if(k==2){
            req.setAttribute("message", "登录成功");
             req.getRequestDispatcher("index.jsp").forward(req,resp);
        }
    }

 service中的方法:

public int logincheck(String a,String b) {
        int f=0;
        
            
            if(dao.logincheck(a,b))  f=2;
        
        return f;
    }

dao层方法:

public boolean logincheck(String x, String y) {
        // 登录验证
        boolean f=false;
        String sql = "select * from account where name='" + x + "'and password='" + y + "'";
        Connection conn = Shujuku.conn();
        Statement state = null;
        ResultSet rs = null;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while(rs.next()) {
                f = true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            Shujuku.close(state, conn);
        }
        return f;
    }
原文地址:https://www.cnblogs.com/sengzhao666/p/10457157.html