基于ssh框架的用户登陆模块

1.首先项目的目论结构
在这里插入图片描述
在这里插入图片描述
2.jsp页面
在这里插入图片描述

 <div id="login_input">
                <form action="${pageContext.request.contextPath}/proscenium/loginAction!login.action" method="post">
                    <%--enctype="multipart/form-data"--%>

                    <div class="input">账号: <input type="text" name="users.account" /></div>
                    <div class="input">密码: <input type="password" name="users.password" /></div>
                    <div align="center"><input type="submit" id="submit" />
                        <a href="#"><img src="img/zhuce.gif" /></a>
                    </div>
                </form>
            </div>

${pageContext.request.contextPath}为上下文。

3.java文件

3.1Users实体类 即属性,get set方法,toString方法(省)

3.2LoginAction.java
package com.whpu.k16035.action;

import com.whpu.k16035.entity.Users;
import com.whpu.k16035.service.LoginService;
import org.apache.struts2.ServletActionContext;

import javax.servlet.http.HttpSession;

import java.util.List;

public class LoginAction {
private Users users;
private LoginService loginService;
private List user;
public String login() {
System.out.println(" ing");
System.out.println(“user”+user);
Users users = loginService.login(this.users);
System.out.println(“user”+users);
if (users == null) {
return “error”;
} else {
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute(“user”, users);
System.out.println(“user已拿到” + users);
return “login”;
}
}

// -----------------------get set方法省略

3.3Dao
3.3.1 LoginDao接口

public interface LoginDao {
      Users login(Users users);
}

3.3.2 LoginDaoImpl实现类

import com.whpu.k16035.dao.LoginDao;
import com.whpu.k16035.entity.Users;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
public class LoginDaoImpl extends HibernateDaoSupport implements LoginDao{
@Override
public Users login(Users users){
return (Users)this.getHibernateTemplate().findByNamedParam(
“from Users u where u.account=:account and u.password=:password”,
new String[]{“account”,“password”},
new Object[]{users.getAccount(),users.getPassword()}).get(0);
}
}
3.4Service
3.4.1LoginService接口

public interface LoginService{
    Users login(Users users);
}

3.4.2LoginServiceImpl实现类

import com.whpu.k16035.dao.LoginDao;
import com.whpu.k16035.entity.Users;
import com.whpu.k16035.service.LoginService;
import java.util.List;

public class LoginServiceImpl implements LoginService {

 private LoginDao loginDao;
@Override
public Users login(Users users) {
    return loginDao.login(users);
}

// --------------------------------

public LoginDao getLoginDao() {
    return loginDao;
}
public void setLoginDao(LoginDao loginDao) {
    this.loginDao = loginDao;
    }
}

4.一些配置文件
4.1mapper下的Users.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"
<class name="Users" table="users">
    <id name="id" column="id" type="java.lang.Integer">
        <generator class="native"></generator>
    </id>
    <property name="account" column="account" type="java.lang.String"></property>
    <property name="password" column="password" type="java.lang.String"></property>
    <property name="name" column="name" type="java.lang.String"></property>
    <property name="gender" column="gender" type="java.lang.String"></property>
    <property name="birthday" column="birthday" type="java.lang.String"></property>
    <property name="IDCard" column="IDCard" type="java.lang.String"></property>
    <property name="address" column="address" type="java.lang.String"></property>
    <property name="tel" column="tel" type="java.lang.String"></property>
    <property name="email" column="email" type="java.lang.String"></property>
    <property name="postCode" column="postCode" type="java.lang.String"></property>
    <property name="type" column="type" type="java.lang.String"></property>
</class>

4.2struts.xml中设置action

<?xml  version="1.0" encoding="UTF-8"  ?>
<package name="proscenium" namespace="/proscenium" extends="struts-default">
    <global-allowed-methods>regex:.*</global-allowed-methods>

    <action name="dishesAction" class="com.whpu.k16035.action.DishesAction" >
        <!--转发到显示全部页面-->
        <result name="index">/proscenium/index.jsp</result>
        <!--<result name="login">/proscenium/order.jsp</result>-->
        <!--重定向-->
        <!--<result name="requert" type="redirect">empAction!findEmpAll.action</result>-->
    </action>
    <action name="loginAction" class="com.whpu.k16035.action.LoginAction">
        <result name="login">/proscenium/order.jsp</result>
        <!--重定向-->
        <!--<result name="error" type="redirect">/proscenium/index.jsp</result>-->
    </action>
   
</package>
4.3applicationContext.xml <?xml version="1.0" encoding="UTF-8"?>
<!--1.加载连库四要素-->
<context:property-placeholder location="classpath:dbconfig/dbmysql.properties" />
<!--2.创建数据库连接池-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${jdbc.driver}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="user" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>
<!--创建sessionFactroy-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <!--数据源-->
    <property name="dataSource" ref="dataSource"/>
    <!--加载hibernate主配置文件-->
    <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
    <!--加载实体类映射文件-->
    <property name="mappingLocations" value="classpath*:mapper/*.hbm.xml"/>
    <!--hibernate的其他配置-->
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="show_sql">true</prop>
            <prop key="format_sql">true</prop>
            <prop key="hbm2ddl.auto">update</prop>
        </props>
    </property>

</bean>

<!--事物管理-->
    <!--事物管理器-->
<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--事物传播特性-->
<tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:attributes>
        <tx:method name="*"/>
        <!--select*  方法设置只-->
        <tx:method name="select*" read-only="true"/>
    </tx:attributes>
</tx:advice>
<!--事物切面-->
<aop:config>
    <aop:pointcut id="pointcut" expression="execution(* com.whpu.k16035.service.impl.*.*(..))"></aop:pointcut>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>
</aop:config>
<!--dao层-->
<bean id="dishesDao" class="com.whpu.k16035.dao.impl.DishesDaoImpl">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<!--服务层-->
<bean id="dishesService" class="com.whpu.k16035.service.impl.DishesServiceImpl">
    <property name="dishesDao" ref="dishesDao"/>
</bean>

<!--控制器-->
<bean id="dishesAction" class="com.whpu.k16035.action.DishesAction" scope="prototype">
    <property name="dishesService" ref="dishesService"/>
</bean>

<!-- User的配置 ===========================-->
<bean id="loginDao" class="com.whpu.k16035.dao.impl.LoginDaoImpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--&lt;!&ndash;服务层&ndash;&gt;-->
 <bean id="loginService" class="com.whpu.k16035.service.impl.LoginServiceImpl">
     <property name="loginDao" ref="loginDao"></property>
 </bean>

<!--控制器-->
<bean id="loginAction" class="com.whpu.k16035.action.LoginAction" scope="prototype">
    <property name="loginService" ref="loginService"></property>
</bean>

4.4applicationContext-user.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd">
</beans>

5.导入依赖

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


4.0.0

com.whpu.k16035
K16035_11
1.0-SNAPSHOT
war

K16035_11 Maven Webapp

http://www.example.com

junit junit 4.11 test org.apache.struts struts2-core 2.5.16 org.hibernate hibernate-core 5.3.7.Final org.springframework spring-beans 4.3.21.RELEASE org.springframework spring-core 4.3.21.RELEASE org.springframework spring-context 4.3.21.RELEASE org.springframework spring-context-support 4.3.21.RELEASE org.springframework spring-expression 4.3.21.RELEASE org.springframework spring-aop 4.3.21.RELEASE org.springframework spring-aspects 4.3.21.RELEASE aopalliance aopalliance 1.0 org.aspectj aspectjweaver 1.9.2 org.springframework spring-tx 4.3.21.RELEASE org.springframework spring-web 4.3.21.RELEASE
<!--struts2整合spring-->
<dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-spring-plugin</artifactId>
  <version>2.5.16</version>
</dependency>
<!--spring整合hibernate-->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-orm</artifactId>
  <version>4.3.21.RELEASE</version>
</dependency>

<!--jstl-->
<dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
<!--c3p0-->
<dependency>
  <groupId>c3p0</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.1.2</version>
</dependency>
<!--mysql-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.6</version>
</dependency>
<!--log4j-->
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.12</version>
</dependency>
<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-api</artifactId>
  <version>2.7</version>
</dependency>

<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-impl</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-core</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>javax.activation</groupId>
  <artifactId>activation</artifactId>
  <version>1.1.1</version>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
</dependency>
<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-impl</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>com.sun.xml.bind</groupId>
  <artifactId>jaxb-core</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>javax.activation</groupId>
  <artifactId>activation</artifactId>
  <version>1.1.1</version>
</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值