• 数据库程序设计第二天--登陆界面


    一、说在前面

      今天目标完成登陆界面的创建以及与login表的链接

    二、任务进度

    package Bean;
    /**
    *
    *@author 作者:高宇豪
    *@version 创建时间:2020年7月11日上午8:34:27
    *类说明:登陆包装类
    */
    public class LoginBean {
    
        private String account;
        private String password;
        private int level;//等级权限0管理员1隔离场所2隔离人员
        
        //用于注册
        public LoginBean(String account, String password) {
            super();
            this.account = account;
            this.password = password;
            this.level=2;
        }
        
        public LoginBean(String account, String password, int level) {
            super();
            this.account = account;
            this.password = password;
            this.level = level;
        }
        
        public String getAccount() {
            return account;
        }
        public void setAccount(String account) {
            this.account = account;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public int getLevel() {
            return level;
        }
        public void setLevel(int level) {
            this.level = level;
        }
        
        
    }
    LoginBean
    package Dao;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import Bean.LoginBean;
    import DBUtil.DBUtil;
    
    /**
    *
    *@author 作者:高宇豪
    *@version 创建时间:2020年7月11日上午8:38:34
    *类说明:登陆对数据库的操作
    */
    public class LoginDao {
    
        
        //添加
        public boolean insert(LoginBean login){
            String sql="insert into login (account,password,level) values ('"+login.getAccount()+"','"+login.getPassword()+"','"+login.getLevel()+"')";
            Connection conn=DBUtil.getConn();
            Statement state=null;
            try {
                state=conn.createStatement();
                state.executeUpdate(sql);
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return true ;
        }
        //删除
        public boolean delete(String account){
            String sql="delete from login where account='"+account+"'";
            Connection conn=DBUtil.getConn();
            Statement state=null;
            try {
                if(!select(account)) {
                    return false;
                }
                state=conn.createStatement();
                state.executeUpdate(sql);
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return true ;
        }
        //判断是否存在
        public boolean select(LoginBean login){
            boolean flag=false;
            String sql="select * from login where account='"+login.getAccount()+"' and password='"+login.getPassword()+"' ";
            //判断语句正确
            //System.out.println(sql);
            Connection conn=DBUtil.getConn();
            Statement state=null;
            ResultSet rs = null;
            try {
                state=conn.createStatement();
                rs=state.executeQuery(sql);
                while (rs.next()) {
                    flag = true;
                }
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return flag;
        }
        public boolean select(String account){
            boolean flag=false;
            String sql="select * from login where account='"+account+"' ";
            //判断语句正确
            //System.out.println(sql);
            Connection conn=DBUtil.getConn();
            Statement state=null;
            ResultSet rs = null;
            try {
                state=conn.createStatement();
                rs=state.executeQuery(sql);
                while (rs.next()) {
                    flag = true;
                }
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return flag;
        }
        //搜索
        public LoginBean search(String account){
            boolean flag=false;
            String sql="select * from login where account='"+account+"' ";
            //判断语句正确
            //System.out.println(sql);
            Connection conn=DBUtil.getConn();
            Statement state=null;
            ResultSet rs = null;
            LoginBean bean=null;
            try {
                state=conn.createStatement();
                rs=state.executeQuery(sql);
                
                while (rs.next()) {
                    String password=rs.getString("password");
                    int level=rs.getInt("level");
                    bean=new LoginBean(account, password, level);
                }
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return bean;
        }
        //遍历
        public List<LoginBean> list(){
            String sql="select * from login order by level asc";
            
            List<LoginBean>list=new ArrayList<>();
            //给集合list创造(new)一个存储空间用于存放数据
            
            Connection conn=DBUtil.getConn();
            Statement state=null;
            ResultSet rs=null;
            try {
                state=conn.createStatement();
                rs=state.executeQuery(sql);
                LoginBean bean=null;
                while(rs.next()) {
                    String account=rs.getString("account");
                    String password=rs.getString("password");
                    int level=rs.getInt("level");
                    bean=new LoginBean(account, password, level);
                    list.add(bean);
                }
            }catch (SQLException e)
            {
                e.printStackTrace();
            }
            finally
            {
                DBUtil.close(state, conn);
            }
            return list;
        }
        //更改
        public boolean update(LoginBean login){
            String sql="update login set password='"+login.getPassword()+"',level='"+login.getLevel()+"' where account='"+login.getAccount()+"'";
            //System.out.println(sql);
            Connection conn=DBUtil.getConn();
            Statement state=null;
            try {
                state=conn.createStatement();
                state.executeUpdate(sql);
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                DBUtil.close(state,conn);
            }
            return true ;
        }
    }
    LoginDao
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>登录</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/login.css">
    <link rel="stylesheet" href="css/sign-up-login.css">
    <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css">
    <link rel="stylesheet" href="css/inputEffect.css" />
    <link rel="stylesheet" href="css/tooltips.css" />
    <link rel="stylesheet" href="css/spop.min.css" />
    <link rel="stylesheet" href="css/form.css" />
    
    <script src="js/jquery.min.js"></script>
    <script src="js/snow.js"></script>
    <script src="js/jquery.pure.tooltips.js"></script>
    <script src="js/spop.min.js"></script>
    <script src="js/form.js"></script>
    <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
    
    <script>    
        (function() {
            // trim polyfill : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
            if (!String.prototype.trim) {
                (function() {
                    // Make sure we trim BOM and NBSP
                    var rtrim = /^[suFEFFxA0]+|[suFEFFxA0]+$/g;
                    String.prototype.trim = function() {
                        return this.replace(rtrim, '');
                    };
                })();
            }
    
            [].slice.call( document.querySelectorAll( 'input.input__field' ) ).forEach( function( inputEl ) {
                // in case the input is already filled..
                if( inputEl.value.trim() !== '' ) {
                    classie.add( inputEl.parentNode, 'input--filled' );
                }
    
                // events:
                inputEl.addEventListener( 'focus', onInputFocus );
                inputEl.addEventListener( 'blur', onInputBlur );
            } );
    
            function onInputFocus( ev ) {
                classie.add( ev.target.parentNode, 'input--filled' );
            }
    
            function onInputBlur( ev ) {
                if( ev.target.value.trim() === '' ) {
                    classie.remove( ev.target.parentNode, 'input--filled' );
                }
            }
        })();
        
        $(function() {    
            $('#login #login-password').focus(function() {
                $('.login-owl').addClass('password');
            }).blur(function() {
                $('.login-owl').removeClass('password');
            });
            $('#login #register-password').focus(function() {
                $('.register-owl').addClass('password');
            }).blur(function() {
                $('.register-owl').removeClass('password');
            });
            $('#login #register-repassword').focus(function() {
                $('.register-owl').addClass('password');
            }).blur(function() {
                $('.register-owl').removeClass('password');
            });
            $('#login #forget-password').focus(function() {
                $('.forget-owl').addClass('password');
            }).blur(function() {
                $('.forget-owl').removeClass('password');
            });
        });
        
        function goto_register(){
            $("#register-username").val("");
            $("#register-password").val("");
            $("#register-repassword").val("");
            $("#register-code").val("");
            $("#tab-2").prop("checked",true);
            $("#tab-1").prop("checked",false);
            $("#tab-3").prop("checked",false);
        }
        
        function goto_login(){
            $("#login-username").val("");
            $("#login-password").val("");
            $("#tab-1").prop("checked",true);
            $("#tab-2").prop("checked",false);
            $("#tab-3").prop("checked",false);
        }
        
        function goto_forget(){
            $("#forget-username").val("");
            $("#forget-password").val("");
            $("#forget-code").val("");
            $("#tab-3").prop("checked",true);
            $("#tab-1").prop("checked",false);
            $("#tab-2").prop("checked",false);
        }
        
        function login(){//登录
            var username = $("#login-username").val(),
                password = $("#login-password").val(),
                validatecode = null,
                flag = false;
            //判断用户名密码是否为空
            if(username == ""){
                $.pt({
                    target: $("#login-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名不能为空"
                });
                flag = true;
            }
            if(password == ""){
                $.pt({
                    target: $("#login-password"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"密码不能为空"
                });
                flag = true;
            }
            //用户名只能是15位以下的字母或数字
            var regExp = new RegExp("^[a-zA-Z0-9_]{1,15}$");
            if(!regExp.test(username)){
                $.pt({
                    target: $("#login-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名必须为15位以下的字母或数字"
                });
                flag = true;
            }
            
            if(flag){
                return false;
            }else{//登录
                //调用后台登录验证的方法
                document.loginpage.submit();
                //alert('登录成功');
                return false;
            }
        }
        
        //注册
        function register(){
            var username = $("#register-username").val(),
                password = $("#register-password").val(),
                repassword = $("#register-repassword").val(),
                flag = false,
                validatecode = null;
            //判断用户名密码是否为空
            if(username == ""){
                $.pt({
                    target: $("#register-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名不能为空"
                });
                flag = true;
            }
            if(password == ""){
                $.pt({
                    target: $("#register-password"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"密码不能为空"
                });
                flag = true;
            }else{
                if(password != repassword){
                    $.pt({
                        target: $("#register-repassword"),
                        position: 'r',
                        align: 't',
                         'auto',
                        height: 'auto',
                        content:"两次输入的密码不一致"
                    });
                    flag = true;
                }
            }
            //用户名只能是15位以下的字母或数字
            var regExp = new RegExp("^[a-zA-Z0-9_]{1,15}$");
            if(!regExp.test(username)){
                $.pt({
                    target: $("#register-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名必须为15位以下的字母或数字"
                });
                flag = true;
            }
            //alert("heih");
            //检查用户名是否已经存在
            //调后台代码检查用户名是否已经被注册
            /* if(!flag){
                alert("ddd");
                $.get(
                    "registerServlet",
                    {"account":username,"password",password},
                    function(data){
                        alert(data);
                    }
                );
            } */
            /* $.ajax({
                url:"/registerServlet",
                type:"get",
                data:{"account":username, "password":password}
                success:function(){
                    //if(status)
                        alert("heih");
                }
            }); */
            
            //注册码功能之后添加
            //检查注册码是否正确
            //调后台方法检查注册码,这里写死为11111111
            /* if(code != '11111111'){
                $.pt({
                    target: $("#register-code"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"注册码不正确"
                   });
                flag = true;
            } */
            
            if(flag){
                return false;
            }else{//注册
                
                spop({            
                    template: '<h4 class="spop-title">注册成功</h4>即将于3秒后返回登录',
                    position: 'top-center',
                    style: 'success',
                    autoclose: 3000,
                    onOpen : function(){
                        var second = 2;
                        var showPop = setInterval(function(){
                            if(second == 0){
                                clearInterval(showPop);
                            }
                            $('.spop-body').html('<h4 class="spop-title">注册成功</h4>即将于'+second+'秒后返回登录');
                            second--;
                        },1000);
                    },
                    onClose : function(){
                        goto_login();
                    }
                });
                return false;
            }
        }
        
        //重置密码
        function forget(){
            var username = $("#forget-username").val(),
                password = $("#forget-password").val(),
                code = $("#forget-code").val(),
                flag = false,
                validatecode = null;
            //判断用户名密码是否为空
            if(username == ""){
                $.pt({
                    target: $("#forget-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名不能为空"
                });
                flag = true;
            }
            if(password == ""){
                $.pt({
                    target: $("#forget-password"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"密码不能为空"
                });
                flag = true;
            }
            //用户名只能是15位以下的字母或数字
            var regExp = new RegExp("^[a-zA-Z0-9_]{1,15}$");
            if(!regExp.test(username)){
                $.pt({
                    target: $("#forget-username"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"用户名必须为15位以下的字母或数字"
                });
                flag = true;
            }
            //检查用户名是否存在
            //调后台方法
            
            //检查注册码是否正确
            if(code != '11111111'){
                $.pt({
                    target: $("#forget-code"),
                    position: 'r',
                    align: 't',
                     'auto',
                    height: 'auto',
                    content:"注册码不正确"
                   });
                flag = true;
            }
            
            
            
            if(flag){
                return false;
            }else{//重置密码
                spop({            
                    template: '<h4 class="spop-title">重置密码成功</h4>即将于3秒后返回登录',
                    position: 'top-center',
                    style: 'success',
                    autoclose: 3000,
                    onOpen : function(){
                        var second = 2;
                        var showPop = setInterval(function(){
                            if(second == 0){
                                clearInterval(showPop);
                            }
                            $('.spop-body').html('<h4 class="spop-title">重置密码成功</h4>即将于'+second+'秒后返回登录');
                            second--;
                            },1000);
                    },
                    onClose : function(){
                        goto_login();
                    }
                });
                return false;
            }
        }
        
        
        
        
        
        
        
    </script>
    <style type="text/css">
    html{ 100%; height: 100%;}
    
    body{
    
        background-repeat: no-repeat;
    
        background-position: center center #2D0F0F;
    
        background-color: #00BDDC;
    
        background-image: url(images/snow.jpg);
    
        background-size: 100% 100%;
    
    }
    
    .snow-container { position: fixed; top: 0; left: 0;  100%; height: 100%; pointer-events: none; z-index: 100001; }
    
    </style>
    </head>
    <body>
        <!-- 雪花背景 -->
        <div class="snow-container"></div>
        <!-- 登录控件 -->
        <div id="login">
            <input id="tab-1" type="radio" name="tab1" class="sign-in hidden" checked />
            <input id="tab-2" type="radio" name="tab2" class="sign-up hidden" />
            <input id="tab-3" type="radio" name="tab" class="sign-out hidden" />
            <div class="wrapper">
                <!-- 登录页面 -->
                <div class="login sign-in-htm">
                    <form action="loginServlet" method="post" class="container offset1 loginform" id="loginpage" name="loginpage">
                        <!-- 猫头鹰控件 -->
                        <div id="owl-login" class="login-owl">
                            <div class="hand"></div>
                            <div class="hand hand-r"></div>
                            <div class="arms">
                                <div class="arm"></div>
                                <div class="arm arm-r"></div>
                            </div>
                        </div>
                        <div class="pad input-container">
                            <section class="content">
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="text" name="login_userName" id="login-username"
                                        autocomplete="off" placeholder="请输入用户名" tabindex="1" maxlength="15" />
                                    <label class="input__label input__label--hideo" for="login-username">
                                        <i class="fa fa-fw fa-user icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="password" name="login_passWord" id="login-password"
                                           placeholder="请输入密码" tabindex="2" maxlength="15"/>
                                    <label class="input__label input__label--hideo" for="login-password">
                                        <i class="fa fa-fw fa-lock icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                            </section>
                        </div>
                        <div class="form-actions">
                            <a tabindex="4" class="btn pull-left btn-link text-muted" onClick="goto_forget()">忘记密码?</a>
                            <a tabindex="5" class="btn btn-link text-muted" onClick="goto_register()">注册</a>
                            <!-- <input class="btn btn-primary" type="submit" tabindex="3" value="登录" style="color:white;"> -->
                            <input class="btn btn-primary" type="button" tabindex="3" onClick="login()" value="登录" 
                                style="color:white;"/>
                        </div>
                    </form>
                </div>
                <!-- 忘记密码页面 -->
                <div class="login sign-out-htm">
                    <form action="#" method="post" class="container offset1 loginform">
                        <!-- 猫头鹰控件 -->
                        <div id="owl-login" class="forget-owl">
                            <div class="hand"></div>
                            <div class="hand hand-r"></div>
                            <div class="arms">
                                <div class="arm"></div>
                                <div class="arm arm-r"></div>
                            </div>
                        </div>
                        <div class="pad input-container">
                            <section class="content">
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="text" id="forget-username" autocomplete="off" placeholder="请输入用户名"/>
                                    <label class="input__label input__label--hideo" for="forget-username">
                                        <i class="fa fa-fw fa-user icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="text" id="forget-code" autocomplete="off" placeholder="请输入注册码"/>
                                    <label class="input__label input__label--hideo" for="forget-code">
                                        <i class="fa fa-fw fa-wifi icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="password" id="forget-password" placeholder="请重置密码" />
                                    <label class="input__label input__label--hideo" for="forget-password">
                                        <i class="fa fa-fw fa-lock icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                            </section>
                        </div>
                        <div class="form-actions">
                            <a class="btn pull-left btn-link text-muted" onClick="goto_login()">返回登录</a>
                            <input class="btn btn-primary" type="button" onClick="forget()" value="重置密码" 
                                style="color:white;"/>
                        </div>
                    </form>
                </div>
                <!-- 注册页面 -->
                <div class="login sign-up-htm">
                    <form action="registerServlet" method="post" class="container offset1 loginform" id="Form1">
                        <!-- 猫头鹰控件 -->
                        <div id="owl-login" class="register-owl">
                            <div class="hand"></div>
                            <div class="hand hand-r"></div>
                            <div class="arms">
                                <div class="arm"></div>
                                <div class="arm arm-r"></div>
                            </div>
                        </div>
                        <div class="pad input-container">
                            <section class="content">
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="text" name="signup_userName" id="register-username"
                                        autocomplete="off" placeholder="请输入用户名" maxlength="15"/>
                                    <label class="input__label input__label--hideo" for="register-username">
                                        <i class="fa fa-fw fa-user icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="password" name="signup_passWord" id="register-password"
                                           placeholder="请输入密码" maxlength="15"/>
                                    <label class="input__label input__label--hideo" for="register-password">
                                        <i class="fa fa-fw fa-lock icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <span class="input input--hideo">
                                    <input class="input__field input__field--hideo" type="password" name="signup_passWord1" id="register-repassword"
                                           placeholder="请确认密码" maxlength="15"/>
                                    <label class="input__label input__label--hideo" for="register-repassword">
                                        <i class="fa fa-fw fa-lock icon icon--hideo"></i>
                                        <span class="input__label-content input__label-content--hideo"></span>
                                    </label>
                                </span>
                                <!-- <span class="input input--hideo">
                                    <input type ="text" id="text" class="yz_text" required placeholder="请输入验证码">
                                    <input type="button" id="code" onclick="Code()" title='点击更换验证码' >
                                <label class="input__label input__label--hideo" for="register-repassword">
                                    <i class="fa fa-fw fa-lock icon icon--hideo"></i>
                                    <span class="input__label-content input__label-content--hideo"></span>
                                </label> 
                                </span>-->
                            </section>
                        </div>
                        <div class="form-actions">
                            <a class="btn pull-left btn-link text-muted" onClick="goto_login()">返回登录</a>
                            <input class="btn btn-primary" type="button" onClick="register()" value="注册" 
                                style="color:white;"/>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <div style="text-align:center;">
    </div>
    </body>
    </html>
    登陆界面
  • 相关阅读:
    Qt编写安防视频监控系统(界面很漂亮)
    Qt编写数据可视化大屏界面电子看板系统
    Qt开源作品35-秘钥生成器
    Qt开源作品34-qwt无需插件源码
    Qt开源作品33-图片开关控件
    Qt开源作品32-文本框回车焦点下移
    Qt开源作品31-屏幕截图控件
    Qt开源作品30-农历控件
    Qt开源作品29-NTP服务器时间同步
    Qt开源作品28-邮件发送工具
  • 原文地址:https://www.cnblogs.com/suanai/p/13540153.html
Copyright © 2020-2023  润新知