Hibernate+Struts2实现简单登录注册
2014-06-11 14:59
316 查看
Hibernate+Struts2实现简单登录注册
Hibernate.cfg.xml代码<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.xml代码
<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>
Web.xml代码
<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>
Hibernateutil代码
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();
}
}
}
Userdao.java代码
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;
}
}
User.hbm.xml代码
<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>
Loginaction.java代码
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;
}
}
相关文章推荐
- eclipse下用J2EE(hibernate,struts2,spring)实现的简单登录、注册系统
- 基于struts2和hibernate实现登录和注册功能
- Struts2入门--Struts2和Hibernate实现的注册登录模块
- ExtJs、Struts2、Hibernate3.2登录页面的简单实现
- Struts2和Hibernate实现的注册登录模块
- ExtJs、Struts2、Hibernate3.2登录页面的简单实现
- 用Hibernate与Struts实现简单的项目的登录与注册
- Struts2和hibernate框架整合实现简单的注册登陆功能
- struts-2.3.14.3 + hibernate-4.2.2.Final + spring-3.2.4 整合实现简单注册功能始末
- 吴昊品工程级别软件项目 Round 5 —— 用JavaScript实现一个简单的注册登录系统
- go语言实现一个简单的登录注册web小程序
- 在web中实现简单的注册,登录功能
- javaweb实现简单的登录注册
- struts2+hibernate 实现B2C电子商务网站的登录 、注册中验证码的实现(源码)
- struts2实现登录用户的简单的权限设置
- MySql实现简单的注册登录(易语言)
- Hibernate+Struts2实现简单登录注册
- struts2+spring实现简单用户登录注册
- 简单设计实现基于Forms认证的注册登录等用户基础服务
- struts2 简单实现用户登录