JSP+JDBC实现一个简单的登录功能

1. 数据库创建脚本:

/*======================= 使用MLDN数据库 =======================*/
USE weitang;
/*======================= 删除user数据表 =======================*/
DROP TABLE IF EXISTS user ;
/*======================= 创建user数据表 =======================*/
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','admin','12345') ;

2. login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="login_check.jsp" method="post">
        <input type="text" name="id" />
        <input type="password" name="password" />
        <input type="submit" value="提交" />
    </form>
</body>
</html>

3. login_check.jsp

<%@page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title></title>
</head>
<body>

    <%!// 定义若干个数据库的连接常量
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
    public static final String DBURL = "jdbc:mysql://localhost:3306/weitang";
    public static final String DBUSER = "root";
    public static final String DBPASS = "123456";%>
    <%
        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()) { // 如果有数据,则可以执行
                flag = true; //  表示登陆成功
                name = rs.getString(1);
            }
    %>
    <%
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                pstmt.close();
                conn.close();
            } catch (Exception e) {
            }
        }
    %>
    <%
        if (flag) { // 登陆成功
    %>
    <jsp:forward page="login_success.jsp">
        <jsp:param name="uname" value="<%=name%>" />
    </jsp:forward>
    <%
        } else { // 登陆失败
    %>
    <jsp:forward page="login_failure.html" />
    <%
        }
    %>

</body>
</html>

4. login_success.jsp

<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title></title>
</head>
<body>

    <h1>登陆操作</h1>
    <h2>登陆成功</h2>
    <h2>
        欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!
    </h2>

</body>
</html>

5. login_failure.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <h2>login fail</h2>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容