博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用AJAX实现用户名的唯一性校验(注册界面)-JAVA(新手)
阅读量:4982 次
发布时间:2019-06-12

本文共 2990 字,大约阅读时间需要 9 分钟。


  • (1)实现用户名的唯一性校验

 

所需要准备的:

  1. Servlet
  2. 注册界面的JSP
  3. 接口和实现类

 

 

所需要的接口和实现类:

接口: /*    *  用户注册    *  账号的唯一性校验,需要传参(username)    * */    boolean Username(String username);

实现类: @Override    public boolean Username(String username) {        String sql = "select * from user where username = ?";        List
> list = DBUtil.excuteQuery(sql, username); return list.size()>0; }

 

 

所需要的注册的JSP界面:

                

新用户注册

已有账号
发送验证码

个人理解:

    获取Username-使用Post提交-使用if、else判断-如果说状态码等于10010则意味着用户名相重,则提示用户名已经被使用。

                         反之,如果不等于10010则意味着用户名可以使用。


 

所需要的Servlet:

@WebServlet("/chexkusername")public class ChexkUsernameServlet extends HttpServlet {
  
  /*   *  注册时用户名的唯一性校验。   *   *  因为是判断用户名是否重复,则需要传递参数(user表里的username)   *  如果说重复则需要提示用户让用户进行更改。反之则提示用户可以使用。   *   *  所以首先,我们在Servlet中需要干的第一件事就是获取请求参数username   *  第二步就是调用DAO层检验用户名是否唯一。   *  第三步需要设置编码格式,因为是使用post请求,在浏览器中会出现乱码的现象,所以我们要设置一下编码格式。   *  第四步我们需要将检验结果返回给浏览器。   *  然后进行是否被使用的判断,还有可用和不可用的代码块和语句的提示。   *   *  在最后一步将Map转为JSON,因为使用JSON可以更方便的获取到值,而不用再使用共享参数、请求转发等操作。   * */
@Override    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        // 1、接收请求参数。        String username = req.getParameter("username");        // 2、调用DAO 检验用户名是否唯一。        IUserDAO dao = new UserDAOImpl();        boolean username1 = dao.Username(username);        // 3、设置编码格式。        resp.setContentType("text/json;charset=UTF-8");        // 4、将检验结果返回给浏览器(响应Ajax请求)        PrintWriter writer = resp.getWriter();        Map
Map = new HashMap<>(); //如果输入的用户名和数据库表内的一致则提示用户名已经被使用 if (username1){ //code、message为状态码 Map.put("code","10010"); Map.put("message","用户名已经被使用"); //否则则是不一致则提示登录成功。 } else{ Map.put("code","10086"); Map.put("message","恭喜,用户名可用"); } //转为JSOn String s = JSON.toJSONString(Map); writer.write(s); writer.close(); }}

个人理解:

    用户点击注册界面,在用户名一栏输入用户名,当鼠标的光标离开输入框时,就去检验用户的用户名是否有重复。

    这样可以节省资源,避免用户资源的浪费,因为以前所使用的方法,是在用户点击注册之后才去进行用户名的唯

    一性校验,如果错误,则需要返回一个新的界面并且提示用户名重复,即占用了又浪费了用户流量。

 

    所以选择AJAX——>AJAX,允许被浏览器和服务器通信而无需刷新当前页面的技术都被叫做AJAX。


 

转载于:https://www.cnblogs.com/lxr521/p/10765335.html

你可能感兴趣的文章
字段类型的选择原则
查看>>
StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得
查看>>
如何一键收藏微信文章?
查看>>
二维码图片以字符串的形式保存DB,已文件流显示页面上
查看>>
install
查看>>
好久没有写东西了发一个1年前写的东西
查看>>
Struts2、Spring、Hibernate 高效开发的最佳实践(转载)
查看>>
使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)
查看>>
u3d 场景资源打包
查看>>
123
查看>>
hdu 1874
查看>>
最优比例生成树最优比率生成树 01分数规划问题
查看>>
ARM函数调用过程分析
查看>>
css样式重置方案 -解决浏览器差异
查看>>
distpicker使用记录
查看>>
[BZOJ3282]Tree(LCT)
查看>>
最终版详细设计
查看>>
GenePix Pro 3.0
查看>>
html移动端 -- meta-模板 + rem
查看>>
js-控制浏览器和移动端的后退按钮 . popstate
查看>>