JSP判断用户名的重复

 在我的JSP学生信息管理系统中的检测用户名是否重复的页面中时 遇到了一个可笑的问题 ,就是自己不会写代码,经过了几天的研究 依旧没有发现该怎么解决,最后无奈之下 上网海搜  ,结果 问题很容易就解决了

  需要注意的是一下的几个要点 

1·JSP中没有equals这个单词的用法,这个是没经过验证的 ,只是听大家说的

2·在页面中判断的时候,可能会用到的是while,在某些情况下,do{} while 比  if好用

3·最让我伤心的就是我的这个问题的解决方法,首先的任务就是select语句了 ,然后用rs获取收到的结果集,如何判断是否重复 这是我一直遇到的问题   解决方法是这样的

 

if(rs==null)

很简单的一句

我在这里记录下来这点东西 ,以免再犯同样的错误

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JSP 中,可以通过 AJAX 技术来实现在注册时检查用户名是否重复。首先,在前端页面上,当用户输入用户名后,触发一个 AJAX 请求,将用户名发送到后端进行检查。后端可以通过查询数据库来判断用户名是否已经存在,然后将判断结果返回给前端。如果用户名已经存在,则前端可以提示用户重新输入用户名;如果用户名不存在,则可以让用户继续填写其他信息。具体实现可以参考以下步骤: 1. 在前端页面上,添加一个文本框用于用户输入用户名,同时添加一个按钮用于触发 AJAX 请求。 2. 给按钮添加一个点击事件,当用户点击按钮时,触发 AJAX 请求。 3. 在 AJAX 请求中,将用户名发送到后端进行检查。 4. 后端接收到请求后,查询数据库,判断用户名是否存在。 5. 将判断结果返回给前端,前端根据结果提示用户或继续填写其他信息。 以下是一个简单的示例代码: 前端页面: ```html <input type="text" id="username"> <button onclick="checkUsername()">检查用户名</button> <div id="result"></div> <script> function checkUsername() { var username = document.getElementById("username").value; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var result = xhr.responseText; document.getElementById("result").innerHTML = result; } } xhr.open("GET", "check_username.jsp?username=" + username, true); xhr.send(); } </script> ``` 后端代码(check_username.jsp): ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <% String username = request.getParameter("username"); boolean exists = false; // 查询数据库,判断用户名是否存在 Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); pstmt = conn.prepareStatement("SELECT * FROM user WHERE username = ?"); pstmt.setString(1, username); rs = pstmt.executeQuery(); exists = rs.next(); } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } if (exists) { out.print("用户名已存在"); } else { out.print("用户名可用"); } %> ``` 其中,`com.mysql.jdbc.Driver` 是 MySQL 数据库的驱动类,需要根据具体情况进行修改。`test` 是数据库名,`root` 和 `password` 分别是数据库的用户名和密码。需要根据具体情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值