`
八岭书生
  • 浏览: 104110 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Hibernate+Struts2实现简单登录注册

阅读更多

 

<session-factory>
	<property name="connection.username">root</property>
	<property name="connection.url">
		jdbc:mysql://localhost:3306/test
	</property>
	<property name="dialect">
		org.hibernate.dialect.MySQLDialect
	</property>
	<property name="myeclipse.connection.profile">MySQL</property>
	<property name="connection.password">root</property>
	<property name="connection.driver_class">
		com.mysql.jdbc.Driver
	</property>
	
	<mapping resource="com/lian/bean/User.hbm.xml" />

</session-factory>

 

<struts>
	<include file="struts-default.xml" />
	<package name="default" extends="struts-default">
		<action name="login" class="com.lian.action.LoginAction">
			<interceptor-ref name="defaultStack" />
			<result name="success">/success.jsp</result>
			<result name="error">error.jsp</result>
		</action>
		
		<action name="register" class="com.lian.action.RegisterAction">
			<interceptor-ref name="validationWorkflowStack" />
			<result name="success">success.jsp</result>
			<result name="error">error.jsp</result>
			<result name="input">register.jsp</result>
		</action>
        
	</package>
</struts>

 

<filter>
		<filter-name>struts-cleanup</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ActionContextCleanUp
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts-cleanup</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

package com.lian.util;

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

public class HibernateUtil {
	private static SessionFactory sessionFactory;
	public static final ThreadLocal<Session> session = new ThreadLocal<Session>();
	
	static {	
		try {
			sessionFactory = new Configuration().configure().buildSessionFactory();
		} catch (Throwable ex) {
			throw new ExceptionInInitializerError(ex);
		}
	}
	
	/*
	 * 获得当前session
	 */
	public static Session getSession() throws HibernateException {
		Session s = (Session) session.get();
		if(s ==null || !s.isOpen()){
			s = sessionFactory.openSession();
			session.set(s);
		}
		return s;	
	}
	
	/*
	 * 回滚
	 */
	public static void rollback(Transaction tx) {
		try {
			if(tx != null) {
				tx.rollback();
			}
		} catch (HibernateException e) {
			System.out.println("rollback faild." + e);
		}
	}
	
	/*
	 * 关闭session
	 */
	public static void closeSession() throws HibernateException {
		Session s = session.get();
		session.set(null);
		if(s != null) {
			s.close();
		}
	}
	
}

 

package com.lian.dao;

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

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

import com.lian.bean.User;
import com.lian.util.HibernateUtil;

public class UserDao {

	private Session session;
	private Transaction tx;
	
	public UserDao() {
		session = HibernateUtil.getSession();
	}
	
	/*
	 * 将User对象插入到数据库中
	 * @param user
	 */
	public void create(User user) {
		try {
			tx = session.beginTransaction();
			session.save(user);
			tx.commit();
		} catch (HibernateException e) {
			HibernateUtil.rollback(tx);
		} finally {
			HibernateUtil.closeSession();
		}
	}
	
	public void delete(User user) {
		try {
			tx = session.beginTransaction();
			session.delete(user);
			tx.commit();
		} catch (HibernateException e) {
			HibernateUtil.rollback(tx);
		} finally {
			HibernateUtil.closeSession();
		}
	}
	
	public User find(int id) {
		User user = null;
		tx = session.beginTransaction();
		user = (User) session.get(User.class, id);
		tx.commit();
		HibernateUtil.closeSession();
		return user;	
	}
	
	public void update(User user) {
		tx = session.beginTransaction();
		session.update(user);
		tx.commit();
		HibernateUtil.closeSession();
	}
	
	public boolean check(User user) {
		tx = session.beginTransaction();
		String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";
		List list = session.createQuery(sql).list();
		if(!list.isEmpty()) {
			Iterator it = list.iterator();
			while(it.hasNext()) {
				String get = (String) it.next();
				System.out.println(get);
				if(get.equals(user.getPassword())) {
					HibernateUtil.closeSession();
					return true;
				}
			}
		}
		HibernateUtil.closeSession();
		return false;	
	}
	
	
}

 

 

<hibernate-mapping>
	<class name="com.lian.bean.User" table="users">
		<id name="id" column="id" type= "java.lang.Long">
			<generator class="native" />
		</id>
		<property name="username" column="username" type="java.lang.String" />
		<property name="password" column="password" type="java.lang.String" />
	</class>
</hibernate-mapping>

 

package com.lian.action;

import com.lian.bean.User;
import com.lian.dao.UserDao;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

	private long id;
	private String username;
	private String password;
	
	@Override
	public String execute() throws Exception {
		UserDao userDao = new UserDao();
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		if(userDao.check(user)) {
			return SUCCESS;
		}
		return ERROR;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
}

 

 

 

分享到:
评论

相关推荐

    hibernate+struts2做的登录/注册/的小例子

    在本项目中,开发者使用了Hibernate和Struts2这两个核心框架来构建一个基础的登录注册系统,同时还涉及到了分页查询这一重要的数据处理技术。以下是对这些知识点的详细阐述: **1. Hibernate框架:** Hibernate是一...

    jsp+hibernate+struts2简单登录和注册

    标题"jsp+hibernate+struts2简单登录和注册"指出,这个项目是基于Java Web技术栈实现的一个基础的用户登录和注册功能。它结合了三种关键技术:JSP(JavaServer Pages)、Hibernate(一个对象关系映射框架)以及...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    总的来说,基于Struts2+Spring+Hibernate+MySql的注册登录系统是利用这些技术协同工作,实现了用户注册、登录的基本功能。Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。...

    spring+hibernate+struts2整合

    在IT行业中,集成不同的技术...这个简单的注册功能展示了Spring、Hibernate和Struts2如何协同工作,为实际项目提供了一个基础模板。通过这种方式整合,可以构建出更复杂的业务流程,同时保持良好的代码结构和可维护性。

    学生信息管理系统hibernate+struts2框架

    "学生信息管理系统hibernate+struts2框架"是一个基础但实用的Web应用,展示了如何利用现代Java Web技术实现数据管理。通过学习和实践这个系统,开发者可以深入理解Hibernate和Struts2的整合应用,提升Web开发能力。...

    struts2+hibernate整合增删改查加注册登录Demo包含数据库自动建表语句

    本教程通过一个简单的Demo,展示了如何将这两个框架整合,实现基本的CRUD(创建、读取、更新、删除)操作,并结合登录注册功能,为初学者提供了很好的学习资源。 首先,Struts2是基于Action的MVC框架,它处理用户...

    spring+hibernate+struts2+freemarker SSH2 新闻发布系统

    这些操作可以通过后台管理系统实现,SSH2框架能够轻松支持这些功能的实现,例如通过Hibernate进行数据库操作,Struts2处理用户请求,Spring管理事务和数据访问对象(DAO)。 7. **数据库设计** 该系统可能包含新闻...

    图书管理系统spring+struts+hibernate

    library_ssh2可能是一个包含系统源代码的压缩文件,"ssh2"可能表示系统使用了Struts2、Spring2和Hibernate2这三个框架的早期版本。这个文件中应包含所有必要的Java源代码、配置文件、Web应用相关的资源(如JSP页面、...

    hibernate+spring+struts一个简单例子

    "umanager"通常代表用户管理模块,可能包含用户注册、登录、权限管理等功能。在这个例子中,我们可能会有以下步骤: 1. **配置Spring**:创建Spring配置文件,配置SessionFactory,声明Hibernate的DataSource、...

    AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)

    AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)

    Struts2+Hibernate+Spring4 整合微信登录demo

    该项目是一个综合示例,旨在帮助初学者了解如何将流行的Java开发框架Struts2、Hibernate和Spring4整合在一起,并实现微信登录功能。这三个框架在企业级Java应用开发中广泛使用,它们各自负责不同的职责:Struts2处理...

    Hibernate+Struts注册

    【标题】:“Hibernate+Struts注册”涉及到的技术栈是企业级Java应用开发中的两大核心框架:Hibernate和Struts。这两个框架在Web应用中扮演着重要的角色,分别负责对象关系映射(ORM)和模型-视图-控制器(MVC)架构...

    最简单的Spring+Struts2+Hibernate整合例子

    最简单的Spring+Struts2+Hibernate整合例子,MySql数据库,IDE是JavaEE版的Eclipse,tomcat7.0 ,实现功能:登录+注册+增删改查+一键清空数据库表的数据。所有jar文件都在里面了。

    struts2+hibernate+spring实现的博客系统

    1. **用户模块**:用户注册、登录、个人信息管理等功能,Struts2处理HTTP请求,Spring管理用户服务层(UserService),Hibernate负责用户数据的持久化。 2. **文章模块**:用户可以发布、编辑、删除自己的文章,...

    struts2+hibernate+spring+mysql 简单注册功能实现

    Struts2、Hibernate、...通过这个简单的注册功能实现,开发者可以学习到如何整合Struts2、Hibernate、Spring和MySQL,理解它们各自的角色以及如何协同工作。这个项目是进一步深入学习和实践Java Web开发的良好起点。

    hibetnate+struts2做的登录注册增删改查

    页面部分可能使用JSP(JavaServer Pages)技术,结合Struts2标签库(struts2-convention-plugin)实现简单的交互。JSP用于渲染视图,显示数据,接收用户输入,而Struts2标签库简化了表单处理和结果展示。 此外,...

    struts2 + spring 3 + hibernate3.3整合实现图书馆管理管理

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...

    spring+hibernate+struts

    这可能是一个整合了Spring、Hibernate和Struts的简单应用示例,具体实现可能包括用户信息的持久化(由Hibernate处理),业务逻辑的控制(由Spring管理的Service实现),以及Web界面的展示和用户请求的处理(由Struts...

    一个简单的基于Struts2+Spring+Hibernate+MySql的注册登录系统

    在这个“基于Struts2+Spring+Hibernate+MySql的注册登录系统”中,我们可以深入理解这四个框架的集成与应用。** **Struts2** 是一个强大的MVC(Model-View-Controller)框架,负责处理HTTP请求,调度控制器,以及将...

    +.hibernate+Struts2毕业设计我的租房子管理系统

    《基于Hibernate和Struts2的房屋出租管理系统设计与实现》 在信息技术日新月异的今天,Web应用程序已经成为企业管理的重要工具。本项目“基于Hibernate和Struts2的房屋出租管理系统”是一个典型的企业级应用,旨在...

Global site tag (gtag.js) - Google Analytics