Hibernate+Struts2实现简单登录注册

来源:互联网 发布:淘宝店装修素材 编辑:程序博客网 时间:2024/06/06 01:05

Hibernate+Struts2实现简单登录注册

Hibernate.cfg.xml代码  收藏代码
  1. <session-factory>  
  2.     <property name="connection.username">root</property>  
  3.     <property name="connection.url">  
  4.         jdbc:mysql://localhost:3306/test  
  5.     </property>  
  6.     <property name="dialect">  
  7.         org.hibernate.dialect.MySQLDialect  
  8.     </property>  
  9.     <property name="myeclipse.connection.profile">MySQL</property>  
  10.     <property name="connection.password">root</property>  
  11.     <property name="connection.driver_class">  
  12.         com.mysql.jdbc.Driver  
  13.     </property>  
  14.       
  15.     <mapping resource="com/lian/bean/User.hbm.xml" />  
  16.   
  17. </session-factory>  

 

Struts.xml代码  收藏代码
  1. <struts>  
  2.     <include file="struts-default.xml" />  
  3.     <package name="default" extends="struts-default">  
  4.         <action name="login" class="com.lian.action.LoginAction">  
  5.             <interceptor-ref name="defaultStack" />  
  6.             <result name="success">/success.jsp</result>  
  7.             <result name="error">error.jsp</result>  
  8.         </action>  
  9.           
  10.         <action name="register" class="com.lian.action.RegisterAction">  
  11.             <interceptor-ref name="validationWorkflowStack" />  
  12.             <result name="success">success.jsp</result>  
  13.             <result name="error">error.jsp</result>  
  14.             <result name="input">register.jsp</result>  
  15.         </action>  
  16.           
  17.     </package>  
  18. </struts>  

 

Web.xml代码  收藏代码
  1. <filter>  
  2.         <filter-name>struts-cleanup</filter-name>  
  3.         <filter-class>  
  4.             org.apache.struts2.dispatcher.ActionContextCleanUp  
  5.         </filter-class>  
  6.     </filter>  
  7.   
  8.     <filter-mapping>  
  9.         <filter-name>struts-cleanup</filter-name>  
  10.         <url-pattern>/*</url-pattern>  
  11.     </filter-mapping>  
  12.   
  13.     <filter>  
  14.         <filter-name>struts2</filter-name>  
  15.         <filter-class>  
  16.             org.apache.struts2.dispatcher.FilterDispatcher  
  17.         </filter-class>  
  18.     </filter>  
  19.   
  20.     <filter-mapping>  
  21.         <filter-name>struts2</filter-name>  
  22.         <url-pattern>/*</url-pattern>  
  23.     </filter-mapping>  

 

Hibernateutil代码  收藏代码
  1. package com.lian.util;  
  2.   
  3. import org.hibernate.HibernateException;  
  4. import org.hibernate.Session;  
  5. import org.hibernate.SessionFactory;  
  6. import org.hibernate.Transaction;  
  7. import org.hibernate.cfg.Configuration;  
  8.   
  9. public class HibernateUtil {  
  10.     private static SessionFactory sessionFactory;  
  11.     public static final ThreadLocal<Session> session = new ThreadLocal<Session>();  
  12.       
  13.     static {      
  14.         try {  
  15.             sessionFactory = new Configuration().configure().buildSessionFactory();  
  16.         } catch (Throwable ex) {  
  17.             throw new ExceptionInInitializerError(ex);  
  18.         }  
  19.     }  
  20.       
  21.     /*  
  22.      * 获得当前session  
  23.      */  
  24.     public static Session getSession() throws HibernateException {  
  25.         Session s = (Session) session.get();  
  26.         if(s ==null || !s.isOpen()){  
  27.             s = sessionFactory.openSession();  
  28.             session.set(s);  
  29.         }  
  30.         return s;     
  31.     }  
  32.       
  33.     /*  
  34.      * 回滚  
  35.      */  
  36.     public static void rollback(Transaction tx) {  
  37.         try {  
  38.             if(tx != null) {  
  39.                 tx.rollback();  
  40.             }  
  41.         } catch (HibernateException e) {  
  42.             System.out.println("rollback faild." + e);  
  43.         }  
  44.     }  
  45.       
  46.     /*  
  47.      * 关闭session  
  48.      */  
  49.     public static void closeSession() throws HibernateException {  
  50.         Session s = session.get();  
  51.         session.set(null);  
  52.         if(s != null) {  
  53.             s.close();  
  54.         }  
  55.     }  
  56.       
  57. }  

 

Userdao.java代码  收藏代码
  1. package com.lian.dao;  
  2.   
  3. import java.util.Iterator;  
  4. import java.util.List;  
  5.   
  6. import org.hibernate.HibernateException;  
  7. import org.hibernate.Session;  
  8. import org.hibernate.Transaction;  
  9.   
  10. import com.lian.bean.User;  
  11. import com.lian.util.HibernateUtil;  
  12.   
  13. public class UserDao {  
  14.   
  15.     private Session session;  
  16.     private Transaction tx;  
  17.       
  18.     public UserDao() {  
  19.         session = HibernateUtil.getSession();  
  20.     }  
  21.       
  22.     /*  
  23.      * 将User对象插入到数据库中  
  24.      * @param user  
  25.      */  
  26.     public void create(User user) {  
  27.         try {  
  28.             tx = session.beginTransaction();  
  29.             session.save(user);  
  30.             tx.commit();  
  31.         } catch (HibernateException e) {  
  32.             HibernateUtil.rollback(tx);  
  33.         } finally {  
  34.             HibernateUtil.closeSession();  
  35.         }  
  36.     }  
  37.       
  38.     public void delete(User user) {  
  39.         try {  
  40.             tx = session.beginTransaction();  
  41.             session.delete(user);  
  42.             tx.commit();  
  43.         } catch (HibernateException e) {  
  44.             HibernateUtil.rollback(tx);  
  45.         } finally {  
  46.             HibernateUtil.closeSession();  
  47.         }  
  48.     }  
  49.       
  50.     public User find(int id) {  
  51.         User user = null;  
  52.         tx = session.beginTransaction();  
  53.         user = (User) session.get(User.class, id);  
  54.         tx.commit();  
  55.         HibernateUtil.closeSession();  
  56.         return user;      
  57.     }  
  58.       
  59.     public void update(User user) {  
  60.         tx = session.beginTransaction();  
  61.         session.update(user);  
  62.         tx.commit();  
  63.         HibernateUtil.closeSession();  
  64.     }  
  65.       
  66.     public boolean check(User user) {  
  67.         tx = session.beginTransaction();  
  68.         String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";  
  69.         List list = session.createQuery(sql).list();  
  70.         if(!list.isEmpty()) {  
  71.             Iterator it = list.iterator();  
  72.             while(it.hasNext()) {  
  73.                 String get = (String) it.next();  
  74.                 System.out.println(get);  
  75.                 if(get.equals(user.getPassword())) {  
  76.                     HibernateUtil.closeSession();  
  77.                     return true;  
  78.                 }  
  79.             }  
  80.         }  
  81.         HibernateUtil.closeSession();  
  82.         return false;     
  83.     }  
  84.       
  85.       
  86. }  

 

 

User.hbm.xml代码  收藏代码
  1. <hibernate-mapping>  
  2.     <class name="com.lian.bean.User" table="users">  
  3.         <id name="id" column="id" type= "java.lang.Long">  
  4.             <generator class="native" />  
  5.         </id>  
  6.         <property name="username" column="username" type="java.lang.String" />  
  7.         <property name="password" column="password" type="java.lang.String" />  
  8.     </class>  
  9. </hibernate-mapping>  

 

Loginaction.java代码  收藏代码
  1. package com.lian.action;  
  2.   
  3. import com.lian.bean.User;  
  4. import com.lian.dao.UserDao;  
  5. import com.opensymphony.xwork2.ActionSupport;  
  6.   
  7. public class LoginAction extends ActionSupport {  
  8.   
  9.     private long id;  
  10.     private String username;  
  11.     private String password;  
  12.       
  13.     @Override  
  14.     public String execute() throws Exception {  
  15.         UserDao userDao = new UserDao();  
  16.         User user = new User();  
  17.         user.setUsername(username);  
  18.         user.setPassword(password);  
  19.         if(userDao.check(user)) {  
  20.             return SUCCESS;  
  21.         }  
  22.         return ERROR;  
  23.     }  
  24.   
  25.     public long getId() {  
  26.         return id;  
  27.     }  
  28.   
  29.     public void setId(long id) {  
  30.         this.id = id;  
  31.     }  
  32.   
  33.     public String getUsername() {  
  34.         return username;  
  35.     }  
  36.   
  37.     public void setUsername(String username) {  
  38.         this.username = username;  
  39.     }  
  40.   
  41.     public String getPassword() {  
  42.         return password;  
  43.     }  
  44.   
  45.     public void setPassword(String password) {  
  46.         this.password = password;  
  47.     }  
  48.       
  49. }  
0 0
原创粉丝点击