javaweb基础----ajax+Hibernate验证用户名是否已被注册

先了解ajax在本次实验中的大概跳转流程:

表单用户名输入框onblur时触发check(form.name)脚本函数----在函数中被指定跳转到checkUser.jsp----在checkUser.jsp中实例化checkName这个类,这个类中含有从是数据库中查找的方法check();


1.表单的书写:

<div class="form-group">
					 <label for="username">用户名</label><input type="text" required class="form-control" id="username" name="name" οnblur="check(this.value)"/>
				<span id="showinfo"></span>
				</div>

2.把ajax重构文件引入页面,并且实例化对象,重新回调函数和错误处理函数:

<script type="text/javascript" src="js/jquery-2.1.3.js"></script>
<script type="text/javascript" src="js/AjaxRequest.js"></script>
<script>
function onerror(){
alert("你的操作有误!");
}
function check(userName){
var http_request=new net.AjaxRequest("checkUser.jsp?name="+userName,getResult,onerror,"GET");

}
function getResult(){
alert(this.req.responseText);
}
</script>


3.checkUser.jsp

 <body>
     <%String username=request.getParameter("name");
   checkName name=new checkName();
   int flag=name.check(username);
   if(flag==1){
   out.print("改用户名已被注册");
   
   }
   else{
   out.println("恭喜你,该用户还没被注册!");} 
 %>
  </body>

4.checkName.class

package model;

import init.HibernateSessionFactory;

import java.util.Iterator;
import java.util.List;


import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;


public class checkName {
	public int check(String user){
		Session session = null;
		Transaction tran=null;
		try{
			
	    session =HibernateSessionFactory.getSession();
	
		tran=session.beginTransaction();
		String hql="select name from TbUser";
		Query q=session.createQuery(hql);
		List useres=q.list();
		Iterator it=useres.iterator();
		while(it.hasNext()){
			Object username=(Object)it.next();
			username=(String)username;
			System.out.println(username);
			System.out.println(user+"svdcs");
			if(user.equals(username)){
				tran.commit();
				return 1;
			}
			
		}
		}
		catch (Exception e) {
			e.printStackTrace();
			tran.rollback();// 事务回滚
		} finally {
			HibernateSessionFactory.closeSession();// 关闭Session
		}
		return 0;
	}
	

}


就这样就可以完成验证了,当然struts也有丰富的验证机制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值