用Struts2.0+Hibernate+Spring实现用户登陆
2007-04-09 15:33
513 查看
User.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.article.bean.User" table="user">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="password" column="password"/>
</class>
</hibernate-mapping>
User.java
package com.article.bean;
import java.io.Serializable;
public class User implements Serializable...{
/** *//**
*
*/
private static final long serialVersionUID = 1L;
private int id=0;
private String name="";
private String password="";
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String getPassword() ...{
return password;
}
public void setPassword(String password) ...{
this.password = password;
}
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
}
LogicDAO.java
package com.article.dao;
public class LogicDAO ...{
private UserDAO userDAO;
public UserDAO getUserDAO() ...{
return userDAO;
}
public void setUserDAO(UserDAO userDAO) ...{
this.userDAO = userDAO;
}
}
UserDAO.java
package com.article.dao;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.article.bean.User;
public class UserDAO ...{
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) ...{
this.hibernateTemplate = hibernateTemplate;
}
public User Login(User user)
...{
List list=hibernateTemplate.find("from User user where user.name='"+user.getName()+"' and user.password=md5('"+user.getPassword()+"')");
if(list!=null && list.size()==1)
return (User)list.get(0);
else
return null;
}
}
BaseAction.java
package com.article.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.article.dao.LogicDAO;
import com.opensymphony.xwork2.Action;
public abstract class BaseAction implements Action...{
public LogicDAO logicDAO() ...{
ServletContext servletContext = ServletActionContext.getServletContext();
WebApplicationContext webApplicationContext= WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
return (LogicDAO)webApplicationContext.getBean("logicDAO");
}
public HttpServletRequest request()
...{
return ServletActionContext.getRequest();
}
public HttpSession session()
...{
return ServletActionContext.getRequest().getSession();
}
public ServletContext application()
...{
return ServletActionContext.getServletContext();
}
public HttpServletResponse response()
...{
return ServletActionContext.getResponse();
}
}
LoginAction.java
package com.article.action;
import com.article.bean.User;
public class LoginAction extends BaseAction...{
private User user=new User();
private String validateCode="";
public void setValidateCode(String validateCode) ...{
this.validateCode = validateCode;
}
public User getUser() ...{
return user;
}
public void setUser(User user) ...{
this.user = user;
}
public String execute() throws Exception ...{
if(this.session().getAttribute("rand")!=null)
...{
if(this.validateCode.equals(this.session().getAttribute("rand").toString()))
...{
User resultUser=this.logicDAO().getUserDAO().Login(user);
if(resultUser!=null)
...{
this.session().setAttribute("user", resultUser);
}
}
}
return SUCCESS;
}
public String getValidateCode() ...{
return validateCode;
}
}
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="default" extends="struts-default">
<action name="login" class="com.article.action.LoginAction">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
</struts>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/article?autoReconnect=true&useUnicode=true&characterEncoding=gbk</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
destroy-method="close">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/article/bean/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
false
</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="logicDAO" class="com.article.dao.LogicDAO">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>
<bean id="userDAO"
class="com.article.dao.UserDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
</beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>article</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>article</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
login.jsp
<form action="login.action" method="post">
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CDCDCD">
<tr bgcolor="#FAFAFA">
<td>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>名 称<input type="text" name="user.name" class="text"/></td>
</tr>
<tr>
<td>密 码<input type="password" name="user.password" class="text"/></td>
</tr>
<tr>
<td>验证码<input type="text" name="validateCode" class="text" style="width:38px;"/><img src="util/imgcode.jsp"/></td>
</tr>
<tr>
<td align="right"><input type="submit" value="登陆" style="border-style:none; background-color:#FAFAFA"/></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.article.bean.User" table="user">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="password" column="password"/>
</class>
</hibernate-mapping>
User.java
package com.article.bean;
import java.io.Serializable;
public class User implements Serializable...{
/** *//**
*
*/
private static final long serialVersionUID = 1L;
private int id=0;
private String name="";
private String password="";
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String getPassword() ...{
return password;
}
public void setPassword(String password) ...{
this.password = password;
}
public int getId() ...{
return id;
}
public void setId(int id) ...{
this.id = id;
}
}
LogicDAO.java
package com.article.dao;
public class LogicDAO ...{
private UserDAO userDAO;
public UserDAO getUserDAO() ...{
return userDAO;
}
public void setUserDAO(UserDAO userDAO) ...{
this.userDAO = userDAO;
}
}
UserDAO.java
package com.article.dao;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.article.bean.User;
public class UserDAO ...{
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) ...{
this.hibernateTemplate = hibernateTemplate;
}
public User Login(User user)
...{
List list=hibernateTemplate.find("from User user where user.name='"+user.getName()+"' and user.password=md5('"+user.getPassword()+"')");
if(list!=null && list.size()==1)
return (User)list.get(0);
else
return null;
}
}
BaseAction.java
package com.article.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.article.dao.LogicDAO;
import com.opensymphony.xwork2.Action;
public abstract class BaseAction implements Action...{
public LogicDAO logicDAO() ...{
ServletContext servletContext = ServletActionContext.getServletContext();
WebApplicationContext webApplicationContext= WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
return (LogicDAO)webApplicationContext.getBean("logicDAO");
}
public HttpServletRequest request()
...{
return ServletActionContext.getRequest();
}
public HttpSession session()
...{
return ServletActionContext.getRequest().getSession();
}
public ServletContext application()
...{
return ServletActionContext.getServletContext();
}
public HttpServletResponse response()
...{
return ServletActionContext.getResponse();
}
}
LoginAction.java
package com.article.action;
import com.article.bean.User;
public class LoginAction extends BaseAction...{
private User user=new User();
private String validateCode="";
public void setValidateCode(String validateCode) ...{
this.validateCode = validateCode;
}
public User getUser() ...{
return user;
}
public void setUser(User user) ...{
this.user = user;
}
public String execute() throws Exception ...{
if(this.session().getAttribute("rand")!=null)
...{
if(this.validateCode.equals(this.session().getAttribute("rand").toString()))
...{
User resultUser=this.logicDAO().getUserDAO().Login(user);
if(resultUser!=null)
...{
this.session().setAttribute("user", resultUser);
}
}
}
return SUCCESS;
}
public String getValidateCode() ...{
return validateCode;
}
}
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="default" extends="struts-default">
<action name="login" class="com.article.action.LoginAction">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
</struts>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/article?autoReconnect=true&useUnicode=true&characterEncoding=gbk</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
destroy-method="close">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/article/bean/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
false
</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="logicDAO" class="com.article.dao.LogicDAO">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>
<bean id="userDAO"
class="com.article.dao.UserDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
</beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>article</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>article</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
login.jsp
<form action="login.action" method="post">
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CDCDCD">
<tr bgcolor="#FAFAFA">
<td>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>名 称<input type="text" name="user.name" class="text"/></td>
</tr>
<tr>
<td>密 码<input type="password" name="user.password" class="text"/></td>
</tr>
<tr>
<td>验证码<input type="text" name="validateCode" class="text" style="width:38px;"/><img src="util/imgcode.jsp"/></td>
</tr>
<tr>
<td align="right"><input type="submit" value="登陆" style="border-style:none; background-color:#FAFAFA"/></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
相关文章推荐
- Struts+Hibernate+Spring实现用户登录功能
- Struts+Hibernate+Spring实现用户登录功能
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(7)
- Spring和Hibernate和Struts整合(二)实现登陆验证
- struts2+Hibernate实现用户登陆功能
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(1)
- Spring+Struts+Hibernate(一个实现用户注册的简单示例)
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(2)
- Struts+Hibernate+Spring实现用户登录功能
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(3)
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(4)
- struts2+Hibernate实现用户登陆功能
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(5)
- SSH(struts+spring+hibernate)迅速开发--第六章 用户登陆和注册(6)
- Spring3整合Struts2+Hibernate 实现注册、数据库验证登陆
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统
- 使用Hibernate+struts实现添加用户和查看用户
- ASP.NET 2.0实现防止同一用户同时登陆〔转〕
- 使用Struts 2.0 框架实现用户注册登录模块(数据库校验)
- Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记