zoukankan      html  css  js  c++  java
  • jsp在数据库中添加用户(管理员)

    需求说明

    管理员登陆页面

    • 用户名、密码文本框
    • 使用JS检测密码一致性、表单非空验证

    业务处理页面

    • 获取登录页面处理数据
    • 访问数据库查询用户名和密码是否正确
    • 根据查询结果跳转到成功或失败页面

    代码

    regist.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: 长风
      Date: 2019/9/18
      Time: 22:33
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>用户注册</title>
    </head>
    <body>
    
    <form name="myform" method="post" action="control.jsp" onsubmit="return checkUserInfo()" >
        用户名:<input type="text" name="Username" value=""><br>
        输入密码:<input type="password" name="pass" value=""><br>
        确认密码:<input type="password" name="rpass" value=""><br>
        <input type="submit" value="注册">
    
    
    </form>
    <script type="text/javascript">
        function checkUserInfo() {
           // var n=document.getElementById("Username").valueOf();
            if (document.myform.Username.value=="") {
                alert("用户名不能为空");
                return false;
            }
            if (document.myform.pass.value==""){
                alert("密码不能为空");
                return false;
            }
            if (document.myform.rpass.value!=document.myform.pass.value) {
                alert("两次输入的密码不统一");
                return false;
            }
        }
    </script>
    </body>
    </html>
    

    control.jsp:

    <%@ page import="java.sql.*" %>
    <%@ page import="javax.security.auth.login.LoginContext" %>
    <%--
      Created by IntelliJ IDEA.
      User: 长风
      Date: 2019/9/18
      Time: 22:55
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>control</title>
    
    </head>
    <body>
    <%!
        public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
        public static final String DBURL = "jdbc:mysql://localhost:3306/webstore?&useSSL=false&serverTimezone=UTC";
        public static final String DBUSER = "root";
        public static final String DBPASS = "123456";
    %>
    <%!
        String name = null;
        String pwd = null;
        //    String url = "jdbc:mysql://localhost:3306/webstore?&useSSL=false&serverTimezone=UTC";
        Connection conn = null;
    %>
    <%
        try {
            Class.forName(DBDRIVER);
            conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            request.setCharacterEncoding("utf-8");
            name = request.getParameter("Username");
            pwd = request.getParameter("pass");
            String sql = "insert into users(uname,upwd) values ('"+name+"','"+pwd+"')";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            int validate = pstmt.executeUpdate();
            if (validate != 0) {
    %>
    <jsp:forward page="loginUsers.jsp"></jsp:forward>
    <%
            } else {
                out.println("<font color='red'>出错了!</font>");
            }
    
        } catch (Exception e) {
            e.printStackTrace();
        }
    %>
    
    <%--<%
        request.setCharacterEncoding("utf_8");
        String name=request.getParameter("Username");
    %>
    mingzi:<%=name%>--%>
    </body>
    </html>
    
    

    loginUsers.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: 长风
      Date: 2019/9/21
      Time: 19:36
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" import="java.sql.*" %>
    <html>
    <head>
        <title>管理员页面</title>
    </head>
    <body>
    <%!
        public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
        //    驱动路径
        public static final String DBURL = "jdbc:mysql://localhost:3306/webstore?&useSSL=false&serverTimezone=UTC";
        //    webstore是我数据库的名字,?&useSSL=false&serverTimezone=UTC防止报错和乱码。
        public static final String DBUSER = "root";
        //    数据库用户名
        public static final String DBPASS = "123456";
        //    数据库密码
    %>
    
    <%
        /*这里的一下参数也可以去下面定义*/
        Connection conn = null;
        /*定义一个创建连接的变量,初始值设为空,当需要连接时,通过
        Connection conn=DriverManager.getConnection(URL,Username,Password);
        去创建连接, 方便后面关闭操作*/
        PreparedStatement pst = null;
        /*Statement和PreparedStatament的区别
        Statement执行查询调用方法executeQuery(sql)
        执行更删改调用方法executeUpdate(sql)
        PreparedStatement执行查询调用方法executeQuery()
        执行更删改调动方法executeUpdate()*/
        ResultSet rs = null;
    %>
    <%
        try {
            Class.forName(DBDRIVER);
            //注册驱动
            conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //获取链接
            request.setCharacterEncoding("utf-8");
            String sql_select = "select * from users";
            //获取操作数据库对象,注意这里的user_table是我数据库里面的一个表
            pst = conn.prepareStatement(sql_select);
            rs = pst.executeQuery();
            //执行sql_select,获取结果集
    %>
    <table border="1">
        <tr>
            <td>id</td>
            <td>用户名</td>
            <td>密码</td>
        </tr>
        <%
            while (rs.next()) {
                //处理结果
        %>
        <tr>
            <td><%= rs.getString(1) %>
            </td>
            <td><%= rs.getString("uname")%>
            </td>
            <td><%= rs.getString("upwd")%>
            </td>
        </tr>
        <%
                }
            } catch (Exception e) {
                out.println(e);
            }
        %>
    </table>
    
    </body>
    </html>
    
    
    

    效果演示

    页面检测:

    在这里插入图片描述

    成功界面:

    在这里插入图片描述

  • 相关阅读:
    structInMemory
    合并字符串
    eggs
    1005. Spell It Right (20) -PAT
    60 人工智能
    50 计算机网络
    20数据结构
    40操作系统
    10 C/C++/python
    30汇编
  • 原文地址:https://www.cnblogs.com/jiangyanblog/p/11688283.html
Copyright © 2011-2022 走看看