Spring简单整合hibernate实现登录例子

MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一) 1. 准备  工具:MyEclipse 5.1.0 GA、Tomcat 5.5环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver20001.1. 新建工程  本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合操作:[Menu] File/New/Web Project  工程名:login 2. Struts 阅读详情

数据库loginusers表

1、新建javaWeb Porject项目spring_hibernate,添加com.dao包(放置数据库操作类)、com.pojo包(放置hibernate生成的POJO类)

2、右击项目添加spring开发功能,注意这里需把spring Persistence类库勾选

3、接下来是添加hibernate组件,与单独部署时不同的是这里不生成hibernate.cfg.xml文件,而是将数据库配置当成bean,

分配id值,统一交由spring进行配置管理

4、配置映射数据库表生成POJO类,com.pojo包如下

package com.pojo;

/**
 * AbstractLoginusers entity provides the base persistence definition of the Loginusers entity. @author MyEclipse Persistence Tools
 */

public abstract class AbstractLoginusers  implements java.io.Serializable {

    // Fields    

     private Integer id;
     private String userName;
     private String password;

    // Constructors

    /** default constructor */
    public AbstractLoginusers() {
    }

	/** minimal constructor */
    public AbstractLoginusers(Integer id) {
        this.id = id;
    }
    
    /** full constructor */
    public AbstractLoginusers(Integer id, String userName, String password) {
        this.id = id;
        this.userName = userName;
        this.password = password;
    }
   
    // Property accessors

    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return this.userName;
    }
    
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return this.password;
    }
    
    public void setPassword(String password) {
        this.password = password;
    }
}
package com.pojo;

/**
 * Loginusers entity. @author MyEclipse Persistence Tools
 */
public class Loginusers extends AbstractLoginusers implements java.io.Serializable {

    // Constructors

    /** default constructor */
    public Loginusers() {
    }

	/** minimal constructor */
    public Loginusers(Integer id) {
        super(id);        
    }
    
    /** full constructor */
    public Loginusers(Integer id, String userName, String password) {
        super(id, userName, password);        
    }
   
}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.pojo.Loginusers" table="loginusers" catalog="mydb">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="assigned" />
        </id>
        <property name="userName" type="java.lang.String">
            <column name="userName" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" />
        </property>
    </class>
</hibernate-mapping>

5、在WebRoot下新建、编写login.jsp登录主页

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>spring Hibernate login</title>
  </head>
  
  <body>
    <h3>User Login</h3>
    <form action="validate.jsp" method="post">
    	<label>Account:&nbsp;&nbsp;&nbsp;</label>
    	<input type="text" name="userName"/><br>
    	<label>Password:</label>
    	<input type="password" name="password"/><br><br>
    	<input type="reset" value="reset"/>
    	<input type="submit" value="submit"/>
    </form>
  </body>
</html>

6、在持久层com.dao包下编写数据库操作类完成BaseDao基类(提供SessionFactory获取Session)、InterUserDao接口类、

UserDaoImpl接口实现类,实现用户验证

package com.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class BaseDao {
	//Dao持久层访问SessionFactor获取session对象的中间组件
	//解耦Dao层与SessionFactory
	private SessionFactory sessionFactory;

	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
	
	public Session getSession(){
		Session session=sessionFactory.openSession();
		return session;
	}
}
package com.dao;

import com.pojo.Loginusers;

public interface InterUserDao {
	public Loginusers validate(String name,String password);   //提供数据库操作方法:验证用户名密码
}
package com.dao;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import com.pojo.Loginusers;

public class UserDaoImpl extends BaseDao implements InterUserDao {

	@Override
	public Loginusers validate(String name,String password) {
		// TODO Auto-generated method stub
		Session session=getSession();	//从BaseDao继承的方法中得到session
		Query query=session.createQuery("from Loginusers where userName=? and password=?");
		query.setParameter(0, name);
		query.setParameter(1, password);
		List list=query.list();
		Iterator it=list.iterator();
		while(it.hasNext()){
			if(list.size()!=0){
				Loginusers user=(Loginusers)it.next();//创建持久化对象
				return user;
			}
		}
		session.close();
		return null;
	}

}

7、修改applicationContext.xml文件添加BaseDao、UserDaoImpl的bean组件,在数据库配置bean中没有

数据库驱动DriverClass属性需手动添加。完成如下

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


	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource"> 
		<!-- 配置数据库驱动 -->
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		
		<property name="url" value="jdbc:mysql://localhost:3306/"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root123"></property>
	</bean>
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/pojo/Loginusers.hbm.xml</value>
			</list>
		</property>
	</bean>
	
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>
	
	<bean id="baseDao" class="com.dao.BaseDao">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>
	</bean>
	
	<bean id="userDaoImpl" class="com.dao.UserDaoImpl" lazy-init="false" parent="baseDao"></bean>
	
	
	<tx:annotation-driven transaction-manager="transactionManager" />	
	</beans>
	

 

8、在WebRoot下新建编写validate.jsp完成验证业务

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="org.springframework.context.*,org.springframework.context.support.*" %>
<%@ page import="com.dao.*,com.pojo.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>验证业务方法</title>

  </head>
  
  <body>
    <%
    	request.setCharacterEncoding("utf-8");
    	String name=request.getParameter("userName");
    	String password=request.getParameter("password");
    	boolean flag=false;  //验证标识符
    	Loginusers user=null;
    	user=(Loginusers)session.getAttribute("user");
    	
    	if(user==null){	//判断第一次登录
    	
    		ApplicationContext context=new FileSystemXmlApplicationContext(
	    	"file:D:/JAVA-Develop/Workspaces/MyEclipse 2017 CI/spring_hibernate/src/applicationContext.xml");
	    	InterUserDao interUserDao=(InterUserDao)context.getBean("userDaoImpl");
	    	user=interUserDao.validate(name,password);
	    	if(user!=null){
	    		session.setAttribute("user",user);//保存user对象
	    		flag=true;
	    	}
    	}else{
    		flag=true;
    	}
    	if(flag)
    		response.sendRedirect("success.jsp");
    	else
    		response.sendRedirect("error.jsp");

     %>
  </body>
</html>

9、在WebRoot下编写success.jsp成功页、error.jsp失败页

<%@ page language="java" import="java.util.*" import="com.pojo.Loginusers" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title> success login</title>
  </head>
  
  <body>
  	<% 
  		Loginusers user=(Loginusers)session.getAttribute("user");
  		System.out.print(user);
  		String uName=user.getUserName();
  	 %>
    <h2 style="text-align:center;margin:200xp auto">Welcome <%=uName %>,Login Success</h2>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title> error login </title> 

  </head>
  
  <body>
    <h2 style="text-align:center;margin:100px auto">Login Error</h2>
  </body>
</html>

10、保存启动Tomcat,浏览器测试

简单的SSH整合登录注册 创建bean,映射文件, 创建dao包,action包,jsp页面 配置web,hibernate,Spring,struts2 看一下效果先首先是登录页面 点击注册 注册过后登录进入用户列表点击删除,直接删除数据点击修改进入修改页面修改成功进入详情在写代码前需要整合SSH 1. 创建bean文件,映射文件, 映射文件将ID改为自增长package org.xian.bean;publ 阅读详情

相关推荐

【最新】使用SSH框架实现简单的登录注册功能

java.lang.NullPointerException

超逸の学习技术博客 4507

MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(二)

4.3. 添加 Hibernate 功能支持  操作:[Menu] MyEclipse/Project Capabilities/Add Hibernate Capabilities    Hibernate 版本(Hibernate Specification)选择 "Hibe

pengxiaodong19862的专栏 693

学习使用idea搭建SSH框架,并实现一个简单的登录功能

学习利用Struts2,Spring,Hibernate这三个框架来搭建项目的主体架构,实现简单的一个登录注册功能

Cyan999的博客 2572

一步步搭建Spring+Spring MVC+Hibernate系统框架+登录与注册功能

Spring+Spring MVC + Hibernate1新建WEB项目1.1先设置myeclipse编码格式,JSP、workspace1.2新建web工程 1.3避免MyEclipse验证js文件,先在web项目上单击右键,再选择“Myecplise-------&gt;open in explorer”,在下图.project文件中删除如右图代码2安装Hibernate和Spring2.1...

天地炫舞的博客 2万+

Spring与Hibernate整合实现用户登录系统

在现代Java Web开发中,Spring与Hibernate已成为构建企业级应用的两大核心框架。Spring 提供了全面的基础设施支持,其核心功能——依赖注入(DI)与面向切面编程(AOP),极大地提升了代码的可维护性与解耦能力。而 Hibernate 作为一款成熟的 ORM(对象关系映射)框架,简化了 Java 对象与数据库表之间的数据交互,使得开发者能够以面向对象的方式操作数据库,显著提升了开发效率。

weixin_35754962的博客 984

【Autosar】学习总结-MCAL

一、简介 MCAL:微控制器抽象层;位于BSW层中的最下层; MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动: 二、MCAL的配置(EB-Tresos) 1.PORT 我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置: Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能; 总之,PORT就是芯片上的具体的某个引脚。 配置

zDavid_2018的博客 3万+

利用SpringMVC+hibernate实现注册登录功能

如何利用SpringMVC+Hibernate实现注册于登录 首先创建maven项目选择war包 (1)项目结构大体 项目所需的jar包 1.2.17 1.3.1 1.16.10 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit&...

lingluodeguye的博客 2641

Informer:比Transformer更有效的长时间序列预测

目录 AAAI 2021最佳论文:比Transformer更有效的长时间序列预测 Background Why attention Methods:the details of Informer Solve_Challenge_1:最基本的一个思路就是降低Attention的计算量,仅计算一些非常重要的或者说有代表性的Attention即可,一些相近的思路在近期不断的提出,比如Sparse-Attention,这个方法涉及了稀疏化Attention的操作,来减少Attention计算量,然后涉及的

To be a better man 1万+

用SPRING+STRUTS+HIBERNATE实现注册与登录

目的:建立一个SPRING+STRUTS+HIBERNATE的登录注册WEB程序。环境与工具:MYECLIPSE+TOMCAT+MYSQL 步骤一:建立TOMCAT工程mySSH,在/WEB-INF/LIB目录下COPY 上 3个框架所需要的包,构建JAVA路径。              建立包结构com.neusoft.vo;com.neusoft.action;com.neuso

宁静以致远,淡泊以明志 4341

解密携程风控:user-dun算法中的自定义base64与多模式加密机制剖析

本文深入剖析了携程旅行APP风控核心组件libduncode.so中的user-dun算法。文章重点解密了其采用的自定义Base64编码机制与多模式加密选择逻辑,并详细阐述了如何通过动态分析与静态还原,理解算法与设备指纹的深度绑定关系,为逆向分析类似混淆加固的风控算法提供了系统的方法论。

weixin_29323049的博客 340

从原理到应用:深入解析双编码器在机器人关节力矩感知中的实现

本文深入解析了双编码器方案在机器人关节力矩感知中的实现原理与应用。该方案通过在电机侧和输出侧分别安装编码器,利用两者位置差异间接高精度计算外力,克服了传统电流环精度不足和扭矩传感器成本高昂的缺点。它为实现协作机器人的丝滑拖动示教、灵敏碰撞检测以及足式机器人的动态平衡与柔顺控制提供了关键技术支撑,是目前高性能机器人力控的主流选择。

t8u9v0w1x的博客 662

Struts+Spring+Hibernate整合注册登录——使用Myeclipse快速开发

Googel 标签: 李顺利 ;Java ;Java EE ;myeclipse ;spring struts ;hibernate ;ssh ;mysql ;整合 ;配置 ;exception Struts+Spring+Hibernate整合注册登录   开发环境: 1.       MyEclipse Enterprise Workbench 7.0 Milestone-1(MyEclip...

李顺利 469

游戏经济数值模型的搭建过程——以标准卡牌游戏为例

一、总体规划 1.玩家分类 首先我们按照下表对玩家进行分类 付费能力即为充值额度;充值行为比如购买月卡/购买钻石;消费行为比如用钻石抽卡 在这里我们假设玩家是理性的,即玩家会以追求更高的性价比为目标进行充值与消费(即小R会优先买首冲+月卡,而不是买一个无用的无属性皮肤) 不同类型玩家之间的差异,实际上就主要由这些行为的差异而决定。 注:早期游戏制作的时候,活跃程度也是区分玩家类型的一个重要依据。不过目前现在游戏中有各种手段抹平了不同活跃玩家的差异(体力限制,活跃时间长的收益递减)..

dudu3332的博客 4228

SSH整合

SSH整合     最近没怎么手头上没什么事情,不过我感觉也是好事,毕竟一直忙碌刀会钝的。 所有最近收刀,静心磨刀,不为外面的什么各种项目所迷惑。收收心,毕竟磨刀不误砍柴工。总结下Spring整合Struts2和Hibernate。     上篇总结了Spring整合Struts2这次我把Hibernate加了进来,Spring这个非常强大的框架也是真真正正的算得上有个有艺术品位的框架,I

zhangdongxuan的博客 784

Open3D 合并两个点云【2025最新版】

两个点云中的数据连接,博客长期更新,本文最新更新时间为:2025年4月26日。

点云侠的博客 7435

MimicKit 人形机器人强化学习全身模仿控制算法使用教程

本文介绍了MimicKit运动模仿算法框架的使用指南。主要内容包括:1)安装IsaacGym和依赖项;2)训练模型命令及参数说明;3)测试模型的方法;4)分布式训练配置;5)使用TensorBoard可视化日志;6)动作数据格式说明。该框架支持DeepMimic、AMP、ASE、ADD等算法,包含PPO、AWR等强化学习算法,适用于物理仿真角色动画控制研究。

机器人控制与仿真应用 1201

Spring+SpringMVC+Hibernate整合

前几个星期老师在课堂上教了我们Spring和SpringMVC以及Hibernate,但自己一直没有实践过,所以今天就用Spring+SpringMVC+Hibernate整合做了一个用户登陆的模块,好让自己以后搞项目有一个可以参考的流程,期间主要参考的是下面这个博客 https://www.cnblogs.com/xuezhajun/p/7687230.html 第一步:构建一个Maven ...

weixin_41641941的博客 1万+

Spring Boot入门(13):Mybatis-Plus之条件构造器使用手册:精通让你快速提高查询效率的技巧!

化繁为简,MP 中条件构造器的使用,极其详细.

**My Coding Family** 3万+

《Spring学习笔记》:Spring、Hibernate、struts2的整合(以例子来慢慢讲解,篇幅较长)

《Spring学习笔记》:Spring、Hibernate、struts2的整合(以例子来慢慢讲解,篇幅较长)最近在看马士兵老师的关于Spring方面的视频,讲解的挺好的,到了Spring、Hibernate、struts2整合这里,由于是以例子的形式来对Spring+Hibernate+struts2这3大框架进行整合,因此,自己还跟着写代码的过程中,发现还是遇到了很多问题,因此,就记录下。特此说

wojiushimogui的博客 5957

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring+SpringMVC+Hibernate实现登录

Model层开发 创建实体类 Spring与Hibernate的整合 DAO层开发 UserInfoDAO接口 UserInfoDAOImpl Service层开发 UserInfoService接口 UserInfoServiceImpl Controller层开发 Spring整合SpringMVC webxml配置 springmvcxml配置 创建交互页面 上一篇https://blog.c

Stark_JC的博客 4437

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

spring整合struts2+hibernate实现查询

第一篇博客啊,最近要做spring mvc的网站,就先熟悉一下spring整合hibernate,既然这样,就把struts2也加了进来,以备将来整合借鉴只用。 首先就是先创建一个新的WEB项目, 之后导入struts库, 在Login.jsp中加入 修改最上面的pageEncoding="utf-8" 同时插入 User Login

u010623459的专栏 2133

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Spring mvc+Spring+hibernate整合

有段时间没有更新博客了,跟最近比较忙有关系。无聊搭建个Java web框架,反正好久没有自己搭建框架了,算是练练手了,今天我就来搭建一个框架,技术选型为Spring mvc+Spring+hibernate。若想搭建Spring mvc+Spring+Mybatis请看我上篇日志,好了废话不多说,见代码。

石惠之恋 9038

Struts2+Hibernate4+Spring3 整合登录例子

IDE:MyEclipse2014  首先,通过MyEclipse自动依次生成struts,spring,hibernate(生成方法请看我之前的文章). 生成完成后,修改web.xml下的 contextConfigLocation classpath:applicationContext.xml,classpath:applicationContext-beans.xml

Leo's Blog 2365

Spring+Hibernate如何配置数据源(Struts Spring Hibernate (SSH) 整合实例)

 http://www.springframework.org/dtd/spring-beans.dtd">class="org.apache.commons.dbcp.BasicDataSource">com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/DBName //配置root //配置用户名123 //配置密码class="org.sprin

LightSun----让成功成为可能! 2497

spring+ hibernate 整合

Hibernate可以方便我们更加方便快捷的使用数据库。 与spring 的整合之后更加加快了开发的速度。 下面我们介绍spring+hibernate的整合。 我们使用如下结构测试代码 其中比较核心的主要是hbm.xml文件的配置 user.hbm.xml中的配置如下 <?xml version="1.0" encoding="UTF-8"?> <!DOCTY...

陌心的博客 660

Struts2+spring2+hibernate3整合方案

Struts2+spring2+hibernate3整合方案最近闲来无事可做,于是开始学习struts2。Struts2和struts1、webwork2有什么区别我也不说了,网上有很多这方面的资料。以前在项目中从未使用过struts,一直使用spring+hibernate,现在既然学习了Struts,也不能浪费,于是乎开始琢磨着怎么整合这3个框架。整合原理以spring为容器,管理hibe

1326
上一篇: Spring入门例子
下一篇: Spring简单整合Struts2实现登录例子
zero_130
博客等级 码龄10年 21粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值