百木园-与人分享,
就是让自己快乐。

JavaWeb 07_创建web项目连接MySQL实现注册登录功能

一、创建一个web项目,参照JW/01_创建web项目及部署  

二、在NAVICat 里建数据库 db_01,建表tb_user ,字段UName 、Pwd

 

 

三、在web下创建一个Directory, 设名字为JSPWorks

 1. 创建jsp文件如图

 

 代码如下:

1)shouye.jsp

<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"utf-8\"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\";

%>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
    <base href=\"<%=basePath%>\">

    <title>My JSP</title>
    <meta http-equiv=\"pragma\" content=\"no-cache\">
    <meta http-equiv=\"cache-control\" content=\"no-cache\">
    <meta http-equiv=\"expires\" content=\"0\">
    <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">
    <meta http-equiv=\"description\" content=\"This is my page\">
    <!--
    <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">
    -->
</head>
<body>
<div style=\"text-align: center;\">
    <span style=\"font-family: 宋体; font-size: x-large; color: #000; \">欢迎JSP</span><hr>
    <%--<div>
        <img alt=\"\" width = \"600\" height = \"400\" src=\"\">
    </div>--%>
    <table width = \"200\" border =\"1\" bordercolor = \"#00F\">
        <td colspan = \"2\" align = \"center\">

            <td><input type = \"button\" value = \"登      陆\" onclick = \"window.open(\'JSPWorks/login.jsp\')\"></td>
            <td><input type = \"button\" value = \"注      册\" onclick = \"window.open(\'JSPWorks/register.jsp\')\"></td>
        </tr>
    </table>
</div>
</body>
</html>

 

2)login.jsp

<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"utf-8\"%>
<%!
    private Object Finally;
%><%
    String path = request.getContextPath();
    String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\";
%>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
    <base href=\"<%=basePath%>\">

    <title>My JSP</title>

    <meta http-equiv=\"pragma\" content=\"no-cache\">
    <meta http-equiv=\"cache-control\" content=\"no-cache\">
    <meta http-equiv=\"expires\" content=\"0\">
    <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">
    <meta http-equiv=\"description\" content=\"This is my page\">
    <!--
    <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">
    -->

<body>
<div style=\"text-align: center;\">
    <span style=\"font-family: 楷体; font-size: x-large; color: #000; \">登录界面</span>
    <%
        String flag = request.getParameter(\"errNo\");
        try{
            if(flag!=null)
                out.println(\"用户名为空或不存在或密码错误\");
        }catch(Exception e){
            e.printStackTrace();
        }
    %>
    <form action = \"JSPWorks/loginCh.jsp\">
        <table width=\"300\" height = \"180\" border=\"5\" bordercolor=\"#A0A0A0\">
            <td colspan = \"2\" align = \"center\">
                <th>账  户:</th>
                <td><input type=\"text\" name=\"user\"  value = \"请输入用户名\" maxlength = \"16\" onfocus = \"if(this.value == \'请输入用户名\') this.value =\'\'\"></td>
            </tr>
            <td colspan = \"2\" align = \"center\">
                <th>密  码:</th>
                <td><input type=\"password\" name=\"pwd\" maxlength = \"20\"></td>
            </tr>
            <tr>
                <td colspan = \"2\" align = \"center\">
                     <td><input type=\"submit\" name=\"submit\" value=\"登       录\"></td>
                      <td><input type=\"button\" value=\"返       回\" onclick = \"window.open(\'JSPWorks/shouye.jsp\')\"></td>
                </td>
            </tr>
        </table>
    </form>
</div>
</body>
</html>

 

3) loginCh.jsp

<%@ page language=\"java\" import=\"java.util.*,java.sql.*\" pageEncoding=\"utf-8\"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\";
%>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
    <base href=\"<%=basePath%>\">

    <title>My JSP</title>

    <meta http-equiv=\"pragma\" content=\"no-cache\">
    <meta http-equiv=\"cache-control\" content=\"no-cache\">
    <meta http-equiv=\"expires\" content=\"0\">
    <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">
    <meta http-equiv=\"description\" content=\"This is my page\">
    <!--
    <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">
    -->

</head>
<body>
<%
    String user = new String(request.getParameter(\"user\").getBytes(\"ISO-8859-1\"),\"UTF-8\");
    String pwd = request.getParameter(\"pwd\");

    String driverClass = \"com.mysql.cj.jdbc.Driver\";
    String url = \"jdbc:mysql://localhost:3306/db_01\";
    String username = \"root\";
    String password = \"root\";
    try {
        java.lang.Class.forName(driverClass);//加载驱动
        Connection conn = DriverManager.getConnection(url, username, password);//得到连接

       /* if(!conn.isClosed()) {
            out.println(\"数据库连接成功!!\");
        }*/
        PreparedStatement pStmt = conn.prepareStatement(\"select * from tb_user where  UName = \'\" + user + \"\' and Pwd= \'\" + pwd + \"\'\");
        ResultSet rs = pStmt.executeQuery();
        if(rs.next()) {
            out.println(\"<br>用户:\"+rs.getString(1)+\"密码:\"+rs.getString(2));
            out.println(\"<script language=\'javascript\'>alert(\'用户登录成功!将返回首页!\');window.location.href=\'JSPWorks/shouye.jsp\';</script>\");
        }else{
            out.println(\"<script language=\'javascript\'>alert(\'用户登录失败!将返回首页!\');window.location.href=\'JSPWorks/shouye.jsp\';</script>\");

        }
            rs.close();
            conn.close();
            pStmt.close();
    }
    catch(ClassNotFoundException e){
        System.out.println(\"数据库加载失败!\");
        e.printStackTrace();
    }
    catch(SQLException e1){
    e1.printStackTrace();
    }
    catch(Exception e2){
    e2.printStackTrace();
    }
    finally{
        System.out.println(\"数据库获取成功!\");
    }
%>
</body>
</html>

 

4) register.jsp

<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"utf-8\"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\";
%>
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
    <base href=\"<%=basePath%>\">
    <title>My JSP</title>
    <meta http-equiv=\"pragma\" content=\"no-cache\">
    <meta http-equiv=\"cache-control\" content=\"no-cache\">
    <meta http-equiv=\"expires\" content=\"0\">
    <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">
    <meta http-equiv=\"description\" content=\"This is my page\">
    <!--
    <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">
    -->
    <script>
        function addCheck(){
            var username = document.getElementById(\"username\").value;
            var password = document.getElementById(\"password\").value;
            var newword = document.getElementById(\"newword\").value;
            if(username==\"\"){
                alert(\"用户名不能为空!\");
                document.getElementById(\"username\").focus();
                return false;
            }
            if(password==\"\"){
                alert(\"密码不能为空!\");
                document.getElementById(\"password\").focus();
                return false;
            }
            if(password != newword){
                alert(\"两次输入密码不相同!\");
                document.getElementById(\"newword\").focus();
                return false;
            }
        }
        function validate(){
            var flag = addCheck();
            if(flag == false)
                return false;
            return true;
        }
    </script>
<body>
<div style=\"text-align: center;\">
    <span style=\"font-family: 楷体; font-size: x-large; color: #000; \">注册界面</span>
    <form action = \"JSPWorks/checkRegister.jsp\">
        <table width=\"300\" height = \"180\" border=\"5\" bordercolor=\"#A0A0A0\">
            <tr>
                <th>用户名:</th>
                <td><input type=\"text\" name=\"username\" value=\"输入16个字符以内\" maxlength = \"16\" onfocus = \"if(this.value == \'输入16个字符以内\') this.value =\'\'\"></td>
            </tr>
            <tr>
                <th>输入密码:</th>
                <td><input type=\"text\" name=\"password\" value=\"输入20个字符以内\" maxlength = \"20\" onfocus = \"if(this.value == \'输入20个字符以内\') this.value =\'\'\"></td>
            </tr>
            <tr>
                <th>确认密码:</th>
                <td><input type=\"text\" name=\"newword\" value=\"重新输入密码\" maxlength = \"20\" onfocus = \"if(this.value == \'重新输入密码\') this.value =\'\'\"></td>
            </tr>
            <tr>
                <td colspan = \"2\" align = \"center\">
                    <input type=\"submit\" value=\"注  册\">
                    <input type=\"reset\" value=\"重  置\">
                </td>
            </tr>
        </table>
    </form>
</div>
</body>
</html>

 

5) checkRegister.jsp

<%@ page language=\"java\" import=\"java.util.*,java.sql.*\" pageEncoding=\"utf-8\"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\";
%>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
    <base href=\"<%=basePath%>\">

    <title>检查注册</title>

    <meta http-equiv=\"pragma\" content=\"no-cache\">
    <meta http-equiv=\"cache-control\" content=\"no-cache\">
    <meta http-equiv=\"expires\" content=\"0\">
    <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">
    <meta http-equiv=\"description\" content=\"This is my page\">
    <!--
    <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">
    -->

</head>
<body>
<%
    String user = new String(request.getParameter(\"username\").getBytes(\"ISO-8859-1\"),\"UTF-8\");
    String pwd = request.getParameter(\"password\");

    String driverClass = \"com.mysql.cj.jdbc.Driver\";
    String url = \"jdbc:mysql://localhost:3306/db_01\";
    String username = \"root\";
    String password = \"root\";
    Class.forName(driverClass);//加载驱动
    Connection conn = DriverManager.getConnection(url,username,password);//得到连接
    PreparedStatement pStmt = conn.prepareStatement(\"select * from tb_user where UName = \'\" + user + \"\'\");
    ResultSet rs = pStmt.executeQuery();
    if(rs.next()){
        out.println(\"<script language=\'javascript\'>alert(\'该用户已存在,请重新注册!\');window.location.href=\'JSPWorks/register.jsp\';</script>\");
    }else{
        PreparedStatement tmt = conn.prepareStatement(\"Insert into tb_user values(\'\" + user + \"\',\'\" + pwd + \"\')\");
        int rst = tmt.executeUpdate();
        if (rst != 0){
            out.println(\"<script language=\'javascript\'>alert(\'用户注册成功!\');window.location.href=\'JSPWorks/shouye.jsp\';</script>\");
        }else{
            out.println(\"<script language=\'javascript\'>alert(\'用户注册失败!\');window.location.href=\'JSPWorks/register.jsp\';</script>\");
        }
    }
%>
</body>
</html>

 

2. 配置Tomcat

1)先run

 

 

2)

 

 

3)

 

 4)

 


来源:https://www.cnblogs.com/oyww-2027/p/15308114.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » JavaWeb 07_创建web项目连接MySQL实现注册登录功能

相关推荐

  • 暂无文章