jsp在数据库中添加用户(管理员)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/JY_WD/article/details/102557965

需求说明

管理员登陆页面

  • 用户名、密码文本框
  • 使用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>


效果演示

页面检测:

在这里插入图片描述

成功界面:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JY_WD/article/details/102557965