美文网首页
3、登录程序

3、登录程序

作者: wqjcarnation | 来源:发表于2020-07-02 09:11 被阅读0次

    目标

    • 登录页面login.html
    • 登录后台

    登录页面login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
        <script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" type="text/css" href="css/index.css"/>
        <style>
            .container{
                display:table;
                height:100%;
            }
            .row{
                display: table-cell;
                vertical-align: middle;
            }
            .row-centered {
                text-align:center;
            }
            .col-centered {
                display:inline-block;
                float:none;
                text-align:left;
                margin-right:-4px;
            }        /* 需要在一行的元素 */
            .inline-style {
                display: inline-block;
            }
    
    
        </style>
    </head>
    <body class="login">
        <nav class="navbar navbar-default navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand nb"><img src="imgs/logo.png" style="width: 258px;height: 36px;padding-top: 10px;"/></a>
                </div>
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#">欢迎使用个人电子码</a></li>
                </ul>
            </div>
        </nav>
        <div class="container login">
            <div class="row row-centered">
                <div class="well col-md-6 col-centered">
                    <h2 style="color:#000000;margin-top: 0px;" class="text-center">个人电子码注册</h2>
                    <form id="fm" class="form-horizontal" method="post">
                        <div class="form-group col-sm-12">
                            <label for="telephone">手机号码:</label>
                            <input type="text" class="form-control" id="telephone" name="telephone" placeholder="请输入手机号码" onblur="checkTel()"/>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="idcard">身份证号码:</label>
                            <input type="text" class="form-control" id="idcard" name="idcard" placeholder="请输入身份证号码" onblur="checkIdCard()"/>
                        </div>
                        <div class="form-group col-sm-12" id="msg" style="display: none">
                        </div>
                        <div class="form-group col-sm-12" style="padding-top: 10px">
                            <button type="button" onclick="getCard()" class="btn btn-block" style="background-color: green; color: white;">获取健康码</button>
                            <a href="index.html" class="btn btn-primary btn-block">注册健康码</a>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </body>
    <script type="text/javascript">
        function checkTel() {
            var telephone = $("#telephone").val();
            if( telephone == null || telephone == "" ){
                $("#msg").show().html("<font color='red'>手机号码不能为空</font>");
                return false;
            }
            return true;
        }
        function checkIdCard() {
            var idcard = $("#idcard").val();
            if( idcard == null || idcard == "" ){
                $("#msg").show().html("<font color='red'>身份证号码不能为空</font>");
                return false;
            }
            return true;
        }
        function getCard(){
            // 在提交表单之前,需要先判断表单数据填写了
            if( checkTel() && checkIdCard() ){
                // 通过ajax给服务器提交数据
                $.post("/healthCode/login",$("#fm").serialize(),function (resp) {
                    if( resp == 0 ){
                        $("#msg").show().html("<font color='red'>手机号码不能为空</font>");
                    }else if( resp == 1 ){
                        $("#msg").show().html("<font color='red'>身份证号码不能为空</font>");
                    }else if( resp == 2 ){
                        $("#msg").show().html("<font color='red'>您还没有注册</font>");
                    }else if( resp == 4 ){
                        // 登录成功
                        window.location.href = "card.html";
                    }
                });
            }
        }
    </script>
    
    </html>
    

    登录后台

    1)servlet(/healthCode/login)

    package com.neusoft.servlet;
    
    import com.neusoft.pojo.HealthCode;
    import com.neusoft.service.HealthCodeService;
    import org.apache.commons.lang3.StringUtils;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    /**
     * @author 屈博
     * 陕西西安
     * 联系方式:qubome@aliyun.com
     */
    @WebServlet("/login")
    public class LoginServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            // 获取提交的数据
            String telephone = req.getParameter("telephone");
            String idcard = req.getParameter("idcard");
            // 判断数据
            if( StringUtils.isBlank(telephone)  ){
                resp.getWriter().write("0");
                return ;
            }
            if( StringUtils.isBlank(idcard)  ){
                resp.getWriter().write("1");
                return ;
            }
            // 创建service层的对象
            HealthCodeService healthCodeService = new HealthCodeService();
            // 调用service中的方法,
            HealthCode healthCode = healthCodeService.login(telephone , idcard);
            // 如果返回的null,说明输入的手机号码或身份证号码在数据库中不存在
            if( healthCode == null ){
                resp.getWriter().write("2");
                return ;
            }
    
            // 这里需要返回4,表示登录成功,需要将用户的个人信息放到session中
            req.getSession().setAttribute("healthCode",healthCode);
            resp.getWriter().write("4");
        }
    }
    

    2)service
    HealthCodeService 中增加login方法

    public HealthCode login(String telephone, String idcard) {
        try {
            HealthCode healthCode = this.healthCodeDao.login(telephone, idcard);
            return healthCode;
        }catch (SQLException e){
            e.printStackTrace();
        }
        return null;
    }
    

    3)dao
    HealthCodeDao中增加login方法

    public HealthCode login(String telephone, String idcard) throws SQLException {
        String sql = "select * from tb_healthcard where telephone = ? and idcard = ?";
        return queryRunner.query(sql , new BeanHandler<>(HealthCode.class) , telephone , idcard);
    }
    

    4)先编写一个简单的card.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    card
    </body>
    </html>

    测试

    image.png
    image.png

    相关文章

      网友评论

          本文标题:3、登录程序

          本文链接:https://www.haomeiwen.com/subject/zkrlqktx.html