您的位置:首页 > 其它

整合ssh框架下注册登录的实现

2014-12-16 16:11 295 查看
最近整合了一个相对于以前做的更为完整的ssh框架,并实现了注册登录的功能。


项目结构

从上往下依次是action类包,dao接口类包,dao接口实现类包,表单类包,数据库表映射类包,业务逻辑接口类包,业务逻辑接口实现类包(说的不对请指出,楼主只是新手菜鸟)

RegisterAction.java

package com.ssh.action;

import com.opensymphony.xwork2.ActionSupport;

import com.ssh.forms.UserForm;

import com.ssh.service.UserManager;

import com.ssh.serviceImpl.UserManagerImpl;

public class RegisterAction extends ActionSupport {

 private UserForm user;

 private UserManager userManager;

 public UserForm getUser() {

  return user;

 }

 public void setUser(UserForm user) {

  this.user = user;

 }

 public UserManager getUserManager() {

  return userManager;

 }

 public void setUserManager(UserManager userManager) {

  this.userManager = userManager;

 }

 

 public String execute(){

  try{

   userManager.regUser(user);

   return SUCCESS;

  }

  catch (Exception e){

   e.printStackTrace();

   return ERROR;

  }

 }

}

UserManagerImpl.java



BaseDao.java



UserDao.java



注册页面



spring配置文件:applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>  

 

   <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 

        destroy-method="close"> 

        <property name="driverClass"

            value="com.microsoft.sqlserver.jdbc.SQLServerDriver">  

        </property> 

        <property name="jdbcUrl"

            value="jdbc:sqlserver://localhost:1433;databaseName=BookSail">  

        </property> 

        <property name="user"> 

            <value>sa</value> 

        </property> 

        <property name="password"> 

            <value>123456</value> 

        </property> 

        <property name="maxPoolSize"> 

            <value>80</value> 

        </property> 

        <property name="minPoolSize"> 

            <value>1</value> 

        </property> 

        <property name="initialPoolSize"> 

            <value>1</value> 

        </property> 

        <property name="maxIdleTime"> 

            <value>20</value> 

        </property> 

    </bean> 

   

    <bean id="sessionFactory" 

        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 

        <property name="dataSource"> 

            <ref local="dataSource" /> 

        </property> 

        <property name="mappingResources"> 

            <list> 

                <value>com/ssh/model/Book.hbm.xml</value> 

            </list> 

        </property> 

       <property name="hibernateProperties"> 

            <props> 

                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> 

                <prop key="show_sql">true</prop> 

                <prop key="hibernate.jdbc.batch_size">20</prop> 

            </props> 

        </property> 

    </bean> 

 

    <bean id="transactionManager" 

        class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 

        <property name="sessionFactory" ref="sessionFactory" /> 

    </bean> 

 

    <bean id="baseDao" class="com.ssh.daoImpl.UserDao"> 

        <property name="sessionFactory"> 

            <ref bean="sessionFactory" /> 

        </property> 

    </bean> 

    <!--用户注册业务逻辑类 --> 

    <bean id="userManager" class="com.ssh.serviceImpl.UserManagerImpl"> 

        <property name="dao"> 

            <ref bean="baseDao" /> 

        </property> 

    </bean> 

 

    <!-- 用户注册的Action --> 

    <bean id="regAction" class="com.ssh.action.RegisterAction"> 

        <property name="userManager"> 

            <ref bean="userManager" /> 

        </property> 

    </bean> 

    <!--  用户登录的Action -->

    <bean id="logAction" class="com.ssh.action.LoginAction">

        <property name="userManager">

            <ref bean="userManager"/>

        </property>

    </bean>

   

</beans>

action配置文件:struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

 "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <package name="register" namespace="/" extends="struts-default">

        <action name="register" class="regAction">

            <result name="success">/Success.jsp</result>

            <result name="error">/Fail.jsp</result>

        </action>

        <action name="login" class="logAction">

            <result name="success">/Success.jsp</result>

            <result name="input">/Login.jsp?x=0</result>

            <result name="error">/Login.
4000
jsp?x=2</result>

        </action>

    </package>

</struts>

Hibernate配置文件:Book.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.ssh.model.UserInfo" table="UserInfo">

    <id name="logname" column="logname" type="string"></id>

    <property name="password" column="password" type="string"></property>

    <property name="realname" column="realname" type="string"></property>

    <property name="sex" column="sex" type="string"></property>

    <property name="email" column="email" type="string"></property>

    <property name="phone" column="phone" type="string"></property>

    <property name="address" column="address" type="string"></property>

</class>

</hibernate-mapping>

整合的时候最好是先struts,spring,hibernate这样的顺序,也就是按照ssh我们通常的说法来整合,不过楼主以前自己做的时候一直都是按照struts,hibernate,spring的顺序,也挺顺畅的,感觉没什么区别。

哦,对了,还有jar包。



jar包可能有些不需要的,不过楼主是找不出了。

差不多就是这样了,代码长的直接复制了,短的用图片贴出来,主要这博客用的实在不习惯,感觉什么博客都不比qq空间来的体验度高啊。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: