• 密码登录源码(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;
        }
  • 相关阅读:
    最全的常用正则表达式大全--包括校验数字、字符、一些特殊的需求等【转】
    【转】浏览器“后退”、“前进”或可以这么去监听
    vue单页面title修改
    Vue.js中ref ($refs)用法举例总结
    js 程序执行与顺序实现详解
    $(document).ready和window.onload的区别 【转】
    linq to xml(C#)
    TCP/IP|| 建立连接或终止
    TCP/IP TCP
    TCP/IP DNS
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/10457157.html
Copyright © 2020-2023  润新知