Struts2 + Spring + Hibernate简单的Login实现

======================================================

Struts2 + Spring + Hibernate所需要的基本JAR文件
(01)antlr-2.7.5H3.jar
      否则会出现异常:java.lang.NoClassDefFoundError: antlr/ANTLRException
(02)commons-collections-3.1.jar
      否则会出现异常:java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
(03)javassist-3.1.jar
      否则会出现异常:java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
(04)jta.jar
      否则会出现异常:java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
(05)slf4j-api-1.5.2.jar , slf4j-nop-1.5.2.jar

(06)spring.jar
(07)hibernate-3.1.jar
(08)struts2-core-2.0.6.jar
(09)xwork-2.0.1.jar
(10)dom4j-1.6.1.jar
(11)commons-logging-1.1.jar
(12)freemarker-2.3.8.jar
(13)ognl-2.6.11.jar

=====================================================

bean包下java文件 User.java, User.hbm.xml

User.java

package bean;
import java.io.Serializable;

/**
 * 2009-08-21
 * JavaBean
 * @author caoyx
 *
 */
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;
    }
}

 

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="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>

=================================================

action包中BaseAction.java , LoginAction.java

BaseAction.java

package 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 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 action;

import bean.User;

public class LoginAction extends BaseAction{
   
 //private User user = new User();// ok
 private User user = null;// ok
    
 public String execute() throws Exception{

                
         User resultUser=this.logicDAO().getUserDAO().Login(user);

                if(null == resultUser){
                      return "fail";
                }
        return SUCCESS;
    }

 

    public User getUser(){
        return user;
    }

    public void setUser(User user){
        this.user = user;
    }
}
=======================================================

dao包LoginDAO.java , UserDAO.java

LoginDAO.java

package dao;

public class LogicDAO{
 
    private UserDAO userDAO;
   
    public UserDAO getUserDAO(){
        return userDAO;
    }
   
    public void setUserDAO(UserDAO userDAO){
        this.userDAO = userDAO;
    }
}

 

UserDAO.java

package dao;

import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;

import 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 u where u.name='"
             + user.getName()
             + "' and u.password = '"
             + user.getPassword()
             + "'");

 

 

        if (list != null && list.size() == 1) {
               return (User) list.get(0);
        } else {
              return null;
        }
 }
}

========================================================

SRC下面 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="action.LoginAction">
             <!-- <result name="success">/WEB-INF/jsp/index.jsp</result> -->
             <result name="success">/success.jsp</result>
             <result name="fail">/fail.jsp</result>
        </action>                    
       
    </package>
</struts>

========================================================

WebContent下面 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>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>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
   
    <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
</web-app>

===================================================

WebContent下面 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/sshtest?autoReconnect=true&amp;useUnicode=true&amp;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>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="dao.LogicDAO">
         <property name="userDAO">
             <ref bean="userDAO"/>
         </property>
     </bean>
     <bean id="userDAO"
           class="dao.UserDAO">
        <property name="hibernateTemplate">
            <ref bean="hibernateTemplate"/>
        </property>           
     </bean>
</beans>
====================================================

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登陆页面</title>
</head>
<body>

 <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>名&nbsp;&nbsp;&nbsp;&nbsp;称<input type="text" name="user.name" class="text"/></td>
                            </tr>
                            <tr>
                                <td>密&nbsp;&nbsp;&nbsp;&nbsp;码<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>

</body>
</html>

success.jsp , fail.jsp 省略

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值