设置用户名的唯一性

本文介绍了一种在Java应用中验证用户登录名唯一性的方法实现,并展示了如何在Action层进行登录名重复检查及相应的错误处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

,首先是写一个方法

//设置登录名的唯一性

public boolean isHave(String uname) throws Exception { Session session = SessionFactory.getSession(); Object obj = session.createQuery( "select count(*) from Users where loginName=:loginNames") .setString("loginNames", uname).uniqueResult(); session.close(); if (Integer.parseInt(obj.toString()) > 0) { return true; } return false; }

 然后是在action中增加的方法中这样写

 // 添加

public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 获取表单值 String name = CheckNull.check(request.getParameter("name")); String email = CheckNull.check(request.getParameter("email")); String empid = CheckNull.check(request.getParameter("empid")); String loginName = CheckNull.check(request.getParameter("loginName")); String userpass = CheckNull.check(request.getParameter("userpass")); String department = CheckNull.check(request.getParameter("department")); String device = CheckNull.check(request.getParameter("deviceId")); String status = CheckNull.check(request.getParameter("status")); String simCardNo = CheckNull.check(request.getParameter("simCardNo")); //如果登录名已经存在,将刚刚添加的数据再设置到页面上,返回到添加页面 if (getUserDAO().isHave(loginName)) { request.setAttribute("name", name); request.setAttribute("email", email); request.setAttribute("empid", empid); request.setAttribute("loginName", loginName); request.setAttribute("department", department); request.setAttribute("device", device); request.setAttribute("status", status); request.setAttribute("simCardNo", simCardNo); request.setAttribute("isHasName", "用户名已经存在!"); List all = getDeviceDAO().getALl(); request.setAttribute("allDevice", all); return mapping.findForward("addUser"); } // 处理部门、状态 int deviceId = 0; int stat = 0; int emp = 0; try { deviceId = Integer.parseInt(device); stat = Integer.parseInt(status); emp = Integer.parseInt(empid); } catch (Exception e) { return mapping.findForward("error"); } Date now = new Date(); Device dd = getDeviceDAO().findByID(deviceId); Users user = new Users(); user.setDepartment(department); user.setDevice(dd); user.setEmail(email); user.setEmpid(emp); user.setLastLoginTime(now); user.setLastMdspushTime(now); user.setLoginName(loginName); user.setName(name); user.setSimCardNo(simCardNo); user.setUserpass(userpass); user.setStatus(stat); boolean tf = getUserDAO().add(user); request.setAttribute("urls", "userAction.do?param=cutPage&toPageNO=1"); return tf ? mapping.findForward("Success") : mapping .findForward("error"); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值