JSP基于数据库完成用户登陆程序

本示例主要讲解了如何使用JSP(JavaServer Pages)结合数据库实现一个简单的用户登录功能。这个程序由四个JSP页面组成,分别是: 1. login.jsp:这是用户登录的页面,用户输入用户名和密码后,通过POST方法提交到login_conf.jsp进行验证。 ```jsp <form action="login_conf.jsp" method="post"> <!-- 用户名和密码输入框 --> <input type="text" name="uname"> <input type="password" name="upassword"> <!-- 提交和重置按钮 --> <input type="submit" value="登陆"> <input type="reset" value="重置"> </form> ``` 2. login_success.jsp:如果用户登录成功,系统会跳转到这个页面显示“登录成功”信息,并显示用户的用户名。 ```jsp <h2>登陆成功</h2> <h3>欢迎<font color="red" size="15"><%=request.getParameter("uname")%></font>光临!!!</h3> ``` 3. login_failure.jsp:如果登录失败,用户会被引导到这个页面,显示“登录失败”并提示错误的用户名和密码,同时提供链接让用户重新尝试登录。 ```jsp <h2><font color="red" size="20">登陆失败</font></h2> <h3>错误的用户名及密码!!!</h3> <a href="login.jsp">重新登陆</a> ``` 4. login_conf.jsp:这个页面负责处理登录请求,连接数据库,验证用户名和密码。它首先从请求中获取用户名和密码,然后使用JDBC(Java Database Connectivity)连接到MySQL数据库,执行SQL查询来验证用户信息。 ```jsp // 数据库连接配置 final String DBDRIVER = "com.mysql.jdbc.Driver"; final String DBURL = "jdbc:mysql://localhost:3306/mzy"; final String DBUSER = "root"; final String DBPASSWORD = "876760369"; // 连接数据库,执行SQL Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { Class.forName(DBDRIVER); // 加载数据库驱动 conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD); // 建立连接 sql = "SELECT * FROM users WHERE username=? AND password=?"; // SQL查询 pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, password); rs = pstmt.executeQuery(); if (rs.next()) { // 如果查询结果存在,说明用户名和密码匹配 flag = true; } } catch (Exception e) { e.printStackTrace(); } finally { // 关闭数据库连接 if (rs != null) { try { rs.close(); } catch (SQLException e) {} } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) {} } if (conn != null) { try { conn.close(); } catch (SQLException e) {} } } // 根据flag的值决定跳转到成功或失败页面 if (flag) { response.sendRedirect("login_success.jsp"); } else { response.sendRedirect("login_failure.jsp"); } ``` 在这个示例中,我们看到了JSP与数据库交互的基本步骤: 1. 导入JDBC所需的包,如`java.sql.*`。 2. 配置数据库连接参数,包括驱动类、URL、用户名和密码。 3. 使用`Class.forName()`加载数据库驱动。 4. 使用`DriverManager.getConnection()`建立数据库连接。 5. 创建`PreparedStatement`对象,设置SQL语句中的参数,执行查询。 6. 检查结果集`ResultSet`,如果存在记录,说明登录成功;否则,登录失败。 7. 关闭所有数据库资源,确保资源的有效利用和程序的健壮性。 这个简单的登录程序没有涉及用户认证的安全性,例如,密码通常是加密存储,而不是明文。在实际应用中,还需要考虑SQL注入攻击的防护,使用预编译的SQL语句可以有效防止此类攻击。此外,为了提高用户体验,可以添加错误处理和反馈机制,比如显示具体的错误信息,或者在登录失败时给出更明确的提示。





















剩余12页未读,继续阅读

- zhangyh002012-04-25界面简洁 适合初学者用
- xxh9465752482013-10-29仅仅适用于入门的

- 粉丝: 56
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 二次型及其标准形.ppt
- 造价考试常用公式计算及实例.doc
- 游戏规则-楼梯.docx
- 工程项目质量管理3.ppt
- 爱护环境人人有责倡议书.doc
- 散热器对热电致冷器冷却性能影响探讨.ppt
- 甲壳质材料研究&开发有限责任公司商业计划书.doc
- 一、经营范围及规模二、销售计划.doc
- 基于自由与自觉双翼失衡分析网络文学救赎路径.docx
- 全国农技推广系统信息化建设情况调查表(空).doc
- 电厂轴流式风机安装、试运施工作业指导书.doc
- 用PLC进行字路口交通灯的控制线路设计-并进行模拟调试.doc
- 我国住宅项目设计阶段的造价控制.doc
- 立邦牌外墙涂料施工组织设计方案2011.1.22.doc
- 班组内部责任承包合同书(内装组).doc
- 第三单元-建筑材料——水泥.docx


