jsp第六次作业

实现JSp与数据库连接的登录

====数据库

CREATE TABLE user (
    userid VARCHAR(30) PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    password VARCHAR(32) NOT NULL
);
INSERT INTO user(userid, name, password) VALUES('admin', 'administrator','admin');

 

login.jsp界面:

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>www.school.com</title>
</head>
<body>
    
        <h1>登录操作</h1>
        <hr>
        <form action="login_check.jsp" method="post">
            <table border="1">
                <tr>
                    <td colspan="2">用户登录</td>
                </tr>
                <tr>
                    <td>登录ID:</td>
                    <td><input type="text" name="id"></td>
                </tr>
                <tr>
                    <td>登录密码:</td>
                    <td><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" value="登录"> <input
                        type="reset" value="重置"></td>
                </tr>
            </table>
        </form>
    
</body>
</html>

login_check.jsp界面:(实现数据库的连接及操作)

<%@page import="java.nio.channels.SeekableByteChannel"%>
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>www.school.com</title>
</head>
<body>
    <%!public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    public static final String DBURL = "jdbc:mysql://localhost:3306/jsp";
    public static final String DBUSER = "root";
    public static final String DBPASS = "root";%>
    <%
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        boolean flag = false;
        String name = null;
    %>
    <%
        try {
            Class.forName(DBDRIVER);
            conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            String sql = "SELECT name FROM user WHERE userid=? AND password=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, request.getParameter("id"));
            pstmt.setString(2, request.getParameter("password"));
        
            rs = pstmt.executeQuery();
            if (rs.next()) {
                name = rs.getString(1);
                flag = true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null)
                    rs.close();
                if (pstmt != null)
                    pstmt.close();
                if (conn != null)
                    conn.close();
                if (flag) {
                    request.getRequestDispatcher("login_success.jsp").forward(request, response);
                } else {
                    response.sendRedirect("login_failure.jsp");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    %>

</body>
</html>

login_success.jsp界面:(登录成功界面)

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
    <title>www.school.com</title>
</head>
<body>

    <h1>登录操作</h1><hr>
    <h2>登录成功</h2>
    <h2>欢迎<font color="red">
  
    </font>光临!</h2>

</body>
</html>

login_failure.jsp界面:(失败界面)

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
    <title>www.school.com</title>
</head>
<body>

    <h1>登录失败</h1><hr>
    <h2>登录失败,请重新<a href="login.jsp">登录</a>!</h2>

</body>
</html>

 

 

 

 

 

posted @ 2021-04-10 18:17  hhhhhq  阅读(60)  评论(0编辑  收藏  举报