`

Jquery、 ajax和struts2+Hibernate查询数据库验证用户名是否存在

    博客分类:
  • Ajax
阅读更多

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

最近学习了ajax的异步调用和刷新技术,就实践了一把。也借鉴了别人的方法,再加入自己的思路,就有了下面的东东.

首先是前台的jsp页面

关于jquery的post方法大家可以去看看这个,写的很详细:http://www.itivy.com/jquery/archive/2011/7/6/jquery-get-post-getjson-ajax.html

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'register.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	
	<script type="text/javascript" src="jquery-1.9.1.js"></script>//引进Jquery库
	
	 <script type="text/javascript">  
	 
    	jQuery(function()
    	{  
        	$("#username").blur(function()//绑定一个当元素失去焦点时发生blur 事件
        {  
            var username= $.trim($("#username").val());    
           $.post("checkusername.action",{username:username},function(date,state)
        	{
        	   if(date.result=="ok")
        	   {
        	   		$("#span1").html("<font color="red">用户名可以使用</font>");
        	   		document.getElementById("submit").removeAttribute("disabled");
        	   		
        	   }else
        	   {
        		   $("#span1").html("<font color="red">用户名不可以使用</font>");
        		   document.getElementById("submit").disabled = "true";
        	    }
        		   
        	   //alert(date.result);警告不好看,太吓人了
        	
        	return false;},'json');  
        });
    });   
    </script>  
	
  </head>
  
  <body>
   	<form action="savePerson.action" method="post" >
   	 
   	 username:<input type="text" name="username" size="20" id="username">
   	 <span id="span1"></span>
   	   <br>
   	 
   	 password:<input type="password" name="password" size="20"><br>
   	 age: <input type="text" name="age" size="20"><br>
   	 
   	 <input type="submit" value="提交" id="submit"  disabled="disabled">
   	 
   	
   	 
   	 
   	 
   
   </form>
   
  </body>
</html>

 因为是使用的是struts2框架所以struts2里面加上如下代码:因为数据是采用接送传输的所以要写成extends=”json-default”

<package name="strutsjson" extends="json-default">  
        <action name="checkusername"
         class="com.liumin.action.CheckUsername"  method="CheckPerson">  
             <result type="json"></result>  
        </action>  
</package>

 action里面的代码如下:

package com.liumin.action;

import java.util.List;

import com.liumin.model.Person;
import com.liumin.service.impl.CheckService;
import com.opensymphony.xwork2.ActionSupport;

public class CheckUsername extends ActionSupport
{
	private String username;//前台传来的数据username

	public String getUsername()
	{
		return username;
	}
	public void setUsername(String username)
	{
		this.username = username;
	}
	private String result; 
	
	public String getResult()
	{
		return result;
	}
	public void setResult(String result)
	{
		this.result = result;
	}

	public String CheckPerson() throws Exception
	{
		CheckService checkService = new CheckService();
		
		String str="select * from person where username='"+username+"'" ;//组建sql语句
	    List<Person> list=(List<Person>)checkService.getUser(str);//取得数据

	    if(list.isEmpty())//安条件查询后,判断list是否为空?
		{
	    	     this.result = "ok";	 
		}else
		{
	             this.result = "no";
		}
        return SUCCESS;
	}
}

 service和dao层的我写到了一块:

package com.liumin.service.impl;

import java.util.List;

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

import com.liumin.model.Person;
import com.liumin.util.HibernateUtil;

public class CheckService
{
	@SuppressWarnings("unchecked")
	public List<Person> getUser(String str)
	{
		Session session = HibernateUtil.openSession();
		Transaction tx = session.beginTransaction();
		List<Person> list = null;
		try
		{
			list = session.createSQLQuery(str).addEntity(Person.class).list();//查询数据
			tx.commit();
		}
		catch (Exception e)
		{
			if (null != tx)
			{
				tx.rollback();
			}
		}
		finally
		{
			HibernateUtil.close(session);
		}
		return list;
	}
}

 util里面的数据如下:

package com.liumin.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil
{
	private static SessionFactory sessionFactory;

	static
	{
		try
		{
			sessionFactory = new Configuration().configure().buildSessionFactory();
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}
	
	public static Session openSession()
	{
		Session session = sessionFactory.openSession();
		
		return session;
	}
	
	public static void close(Session session)
	{
		if(null != session)
		{
			session.close();
		}
	}
}

 Hibernate的cfg和hbm代码就不用贴出来了!

分享到:
评论

相关推荐

    ssh2+ajax+jquery+json验证用户名是否存在

    【SSH2 + AJAX + jQuery + JSON 验证用户名是否存在】是一种常见的前端与后端交互技术,用于实现实时检查用户在注册或登录时输入的用户名是否已经被占用。在这个过程中,SSH2代表Secure Shell 2,通常用于服务器端的...

    struts+jquery+ajax无刷新验证用户名是否存在

    通过这种方式,我们可以利用Struts、jQuery和Ajax构建一个高效的、无刷新的用户名验证功能。这不仅提升了用户体验,还减轻了服务器的负担,因为只需要处理必要的数据交互,而不是完整的页面渲染。在实际项目中,这种...

    毕业设计项目struts2+hibernate+spring+jquery+ajax+css

    导入myclipse即可,MySql数据库pk.sql,... 1.struts2.8.1+hibernate3+spring2.5 2.统一的jquery表单验证方式,复用性强 3.jquery+ajax应用 4.界面风格漂亮, 本人的毕业设计,有需要者下载参考,项目有很多代码注释

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    ssh2+ajax+jquery+json验证用户名是否存在[参考].pdf

    在SSH2(Apache Struts2)、Ajax、jQuery和JSON技术组合中,验证用户名是否存在的功能是一个典型的前后端交互示例。以下是这些技术如何协同工作的详细解释: **SSH2 (Struts2)**:SSH2是Struts2的简称,它是Apache的...

    struts2+hibernate(文件批量上传至数据库+Ajax分页显示)

    总之,这个项目展示了如何将Struts2和Hibernate结合使用,以实现文件批量上传到数据库以及Ajax分页显示的功能。通过学习这个项目,开发者可以深入理解Java Web开发中的MVC模式、ORM框架以及前端动态加载技术。

    Struts2+hibernate项目实例

    Action类负责接收请求并调用服务层方法,DAO类则封装了与数据库的交互逻辑,配置文件则可能涉及到Struts2的配置(如struts.xml)和Hibernate的配置(如hibernate.cfg.xml)。 综上所述,这个“Struts2+Hibernate...

    ztree+struts2+hibernate项目

    在Struts2框架下,登录通常涉及一个Action类,处理用户提交的用户名和密码,然后通过Hibernate查询数据库验证用户身份。登录成功后,可能利用jQuery进行页面跳转或显示相应消息。 总之,这个项目是一个典型的Java ...

    使用struts2+Ajax+jquery验证用户名是否已被注册

    推荐阅读:JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册 在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax...

    基于JSP+Struts2+hibernate的个人博客系统

    在Web开发领域,构建一个功能完善的个人博客系统是一项常见的任务,而使用JSP、Struts2和Hibernate这三种技术的组合,可以创建出高效且易于维护的解决方案。下面将详细阐述这些技术以及它们在个人博客系统中的应用。...

    MyTestDemo02 jquery+struts2+hibernate+mysql

    【标题】"MyTestDemo02 jquery+struts2+hibernate+mysql"是一个基于Web的项目,它集成了四个关键的技术栈:jQuery、Struts2、Hibernate和MySQL。这个项目展示了如何在实际开发中将这些技术有效地结合起来,创建一个...

    struts2+spring+hibernate+jquery+json

    Struts2、Spring、Hibernate、jQuery 和 JSON 是五个在IT行业中极为重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这篇文章将详细介绍这些技术的整合使用以及它们的功能。 首先,Struts2 是一个基于 ...

    ajax+struts2.0+jsp下拉列表级联

    通过研究这些文件,你可以深入理解如何将AJAX、Struts2和JSP结合,实现动态交互的Web应用。 总结来说,"ajax+struts2.0+jsp下拉列表级联"展示了如何利用现代Web技术提升用户体验。AJAX提供了无刷新的交互,Struts2...

    基于Spring+Struts2+Hibernate 的商城系统

    该电子商城系统功能包括顾客的购物车、订单管理和留言板,支持商品搜索;后台管理员的商品、订单、会员、系统管理等。 ...系统采用技术:Spring+Struts2+Hibernate+mysql+jQuery+Ajax+面向接口编程

    struts2+hibernate的网上购物管理系统的课程设计

    Struts2和Hibernate是两种非常重要的Java开源框架,在开发企业级Web应用时,它们常常被结合起来使用,构建出高效、稳定且易于维护的系统。在这个"struts2+hibernate的网上购物管理系统"的课程设计中,我们将深入探讨...

    Struts2+hibernate3+JQuery+ajax+json三级联动

    Struts2、Hibernate3、JQuery、Ajax以及Json是Web开发中的重要技术栈,它们各自在Web应用程序中扮演着不同的角色。在这个“三级联动”项目中,这些技术被巧妙地结合在一起,实现了数据的动态交互和展示。 Struts2是...

    jquery+struts2+spring+hibernate+mysql

    jQuery增强了前端交互,Struts2处理请求并协调业务逻辑,Spring提供了依赖管理和数据访问层的集成,Hibernate则简化了数据库操作,而MySQL作为可靠的数据库系统,确保数据安全。这样的整合方案为开发高效、健壮的...

    SSH(Spring+Struts2+Hibernate)登录与AJAX级联

    SSH框架需要一系列配置文件,如Spring的`applicationContext.xml`定义Bean,Struts2的`struts.xml`定义Action,Hibernate的`hibernate.cfg.xml`和实体类的映射文件(`.hbm.xml`)设置数据库连接和对象映射。...

    struts2+Hibernate+jauery+Ajax+Json+mysql例子

    struts2+Hibernate+jquery+Ajax+Json+mysql例子 一个部门和员工信息管理的例子,页面上的所有数据全部采用动态加载,增删改查操用全部在一个页面上实现,没有页面跳转。前台页面和后台服务器交互采用json格试传输。 ...

    struts2 + jsp + ajax + jquery + hibernate + mysql通讯录

    都是一些基础的技术,像登录,注册验证用到了ajax和jquery结合,代码更加简单易懂。 后台用了hibernate技术,数据库用了mysql。 页面主要有登录,注册,显示联系人列表的主页面,修改,增加,删除,查找联系人等功能...

Global site tag (gtag.js) - Google Analytics