毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

jsp验证用户名重复注册的问题

更新时间:2013-1-30:  来源:毕业论文

jsp验证用户名重复注册的问题
  目前有个项目,使用的是SSI,前端显示使用的Jquery的validate进行验证,目前网站需要做一个防止重复的用户名注册,但是由于对Jquery不是很了解,请教下各位如何有效的防止避免重复数据的保存呢?
    原理我目前了解了,就是在保存用户数据时,将提交的用户名与数据库的用户名进行比较,SQL呢,就是select count(1) from 表 where username = #{username} .返回一个1和0进行判断。但是我判断后还是没效果,不知道那里错了。有指教!!!
    我的控制跳转的代码:
String userName = userDao.getUsrName();         try {             if(userService.checkUsrName(userName) == 0){                 User user = new User();                 copyProperties(user, userDao, response);                 user.setUsrPwd(ShaHex.messageDigest(userDao.getUsrPwd()));                 user.setUsrHead("etb.jpg");//默认头像                 userService.insert(user);             }          } catch (ServiceException e) {             LOG.error("保存用户信息失败");             e.printStackTrace();         }         return "redirect:/";
说实话这个和Jquery的关系不是很大,你的是否重复用户名的判断是在后台;
加个断点调试下就很清楚的知道问题出在哪了,如果你的说的没效果是指即使重复的用户名也写到表里去的话,你就好好检查下userService.checkUsrName(userName)方法

你断点这下:userService.checkUsrName(userName),看得到的结果是什么;

建议:int resultsNameCount = userService.checkUsrName(userName);
String userName = userDao.getUsrName();
        try {
            if(resultsNameCount  > 0){
               
            }
        } catch (ServiceException e) {
            LOG.error("保存用户信息失败");
            e.printStackTrace();
        }
        return "redirect:/";
HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        String userName = request.getParameter("userName");
      
        Integer sameNameCount = userManagerService.checkIsSameName(userName);
        if(sameNameCount > 0){
            response.getWriter().print("1");
        }else{
            response.getWriter().print("0");
        }
另外建议楼主:User user = new User();
                copyProperties(user, userDao, response);
                user.setUsrPwd(ShaHex.messageDigest(userDao.getUsrPwd()));
                user.setUsrHead("etb.jpg");//默认头像
                userService.insert(user);

刚没下完就提交上去了,其实我想说的是:
HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        String userName = request.getParameter("userName");
      
        Integer sameNameCount = userManagerService.checkIsSameName(userName);
        if(sameNameCount > 0){
            response.getWriter().print("1");
        }else{
            response.getWriter().print("0");
        }

像这样,把保存方法分开写,然后前台jsp用ajax解析下,符合条件然后跳转保存方法,否则提示已存在,不可添加。 if(userService.checkUsrName(userName) == 0){
                User user = new User();
                copyProperties(user, userDao, response);
                user.setUsrPwd(ShaHex.messageDigest(userDao.getUsrPwd()));
                user.setUsrHead("etb.jpg");//默认头像
                userService.insert(user);
            }
else {
//用户名已经被注册

}

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。