天天看點

密碼登入源碼(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;
    }