栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

检测注册用户名是否被占用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检测注册用户名是否被占用

在客户端无法检测注册用户名是否被占用,这需要查询数据库,所以是服务器端负责这块。

实现思路大致描述:
注册表单中添加自动检测用户名是否被占用的功能,其实就是利用 ajax 向服务器发送请求,并带着用户输入的用户名过去,在服务器端可以调用 DAO 的 findUser(String userName)方法,去数据库查询获取数据,如果可以取到说明已经被占用了,如果无法取到则说明没有被占用。不过 ajax 的功能只是获取到服务器发送回来的 json 字符串而已,这个字符串会自动转换成 js 对象,该对象其中一个属性是布尔类型的,如果是 true 说明没有被占用,false 说明被占用,就看 DAO 的方法返回的是哪个了。

实现思路具体描述:
在 DAO 的 findUser(String userName) 方法中通过客户输入的用户名去数据库查询,在 findUser 方法中有下面这样的查询结果的代码

ResultSet rs = stmt.executeQuery();

如果用户名存在就一定会获取到数据,即 ResultSet 对象中就含有数据,执行 rs.next() 则会返回 true,所以如果是 true 则表示用户名被占用了;如果是 false 则表示 ResultSet 对象里面没有数据,即表示用户名没有被占用。最后我们只要 return !rs.next() 就 OK 了。

注意:如果用户名不存在则获取不到数据,但是返回的仍然是一个结果集对象,只是这个对象里面没有数据罢了。

那么rs就是1个结果集对象,可以rs.next()下,然后取出全部的字段值封装成1个user对象返回。其实注册用户名的检测根本无需去封装成user对象返回。因为这个对象根本没有用到。

扩展:
客户端验证即表单 JS 验证只是用来检测用户输入的数据是否符合一定的规范。不过大家要知道,JS 表单检测的代码是可以被用户修改掉的,也就是说用户可以避过表单验证去访问服务器中的应用,因此在服务器端也要进行同样的检测才行。如果是在 struts2 的应用中,Action 组件接收到参数后在调用 DAO 前就要对参数的格式进行必要的检测了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号