struts2 hibernate登录
实现的功能,在登陆页面输入Username和PassWord后,将username和password通过Hibernate匹对数据库是否含有一样的username和password,若有则登陆进去,若没有则返回到登陆页面
显示层
![](/assets/blank.gif)
![](/assets/blank.gif)
<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%> <%@taglib prefix="s" uri="/struts-tags"%> <!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=GB18030"> <title>Insert title here</title> </head> <body><form action="userlogin">用户名:<input type="text" name="username"><br/>密码:<input type="password" name="password"><br/><input type="submit" value="submit"><input type="reset" value="reset"></form> </body> </html>
![](/assets/blank.gif)
model层
User
![](/assets/blank.gif)
![](/assets/blank.gif)
package com.zs.model;public class User {private String username;private String password;private Short sex;private String email;private String address;private String grade;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Short getSex() {return sex;}public void setSex(Short sex) {this.sex = sex;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;} }
![](/assets/blank.gif)
User.hbm.xml:
![](/assets/blank.gif)
![](/assets/blank.gif)
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated 2014-12-14 14:51:48 by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping><class name="com.zs.model.User" table="USER"><id name="username" type="java.lang.String"><column name="USERNAME" /><generator class="assigned" /></id><property name="password" type="java.lang.String"><column name="PASSWORD" /></property><property name="sex" type="java.lang.Short"><column name="SEX" /></property><property name="email" type="java.lang.String"><column name="EMAIL" /></property><property name="address" type="java.lang.String"><column name="ADDRESS" /></property><property name="grade" type="java.lang.String"><column name="GRADE" /></property></class> </hibernate-mapping>
![](/assets/blank.gif)
Hibernate:
配置hibernate.hbm.xml:
![](/assets/blank.gif)
![](/assets/blank.gif)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration><session-factory><!--连接数据库的配置--><property name="connection.username">root</property><property name="connection.password">root</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql:///hibernate</property><property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="show_sql">true</property><property name="hibernate.format_sql">true</property><property name="hibernate.hbm2ddl.auto">update</property><!--数据库映射Java用户--><mapping resource="com/zs/model/User.hbm.xml" /></session-factory> </hibernate-configuration>
![](/assets/blank.gif)
Struts:
![](/assets/blank.gif)
![](/assets/blank.gif)
<?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="default" extends="struts-default"><!--登陆主页面时候的Action--><action name="index"><result>/index.jsp</result></action><!--在index.jsp提交submit后若登陆成功则转到adminlogin,否则转到index--><action name="userlogin" class="com.zs.web.admin.AdminLoginAction"><result name="success">/admin/adminlogin.jsp</result><result name="input">/index.jsp</result></action></package></struts>
![](/assets/blank.gif)
Action:
![](/assets/blank.gif)
![](/assets/blank.gif)
package com.zs.web.admin;import java.util.Map;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport; import com.zs.dao.UserDao; import com.zs.dao.impl.UserDaoImpl; import com.zs.model.User;public class AdminLoginAction extends ActionSupport implements SessionAware {/*** */private static final long serialVersionUID = 1L;UserDao dao = new UserDaoImpl();private String username;private String password;private Map<String,Object> session;public String execute(){User user = dao.isValidAdmin(username, password);//将username和password传递到dao层交个hibernate判断if(user!=null){session.put("user", user);//若登陆成功则将该user记录在session中return SUCCESS;}else{addActionError("你没有管理权限");return INPUT;}}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Map getSession() {return session;}public void setSession(Map session) {this.session = session;}}
![](/assets/blank.gif)
判断用户和密码是否存在于数据库中
![](/assets/blank.gif)
![](/assets/blank.gif)
package com.zs.dao.impl;import java.util.List;import com.zs.dao.BaseDaoImpl; import com.zs.dao.UserDao; import com.zs.model.User;public class UserDaoImpl extends BaseDaoImpl implements UserDao {@Overridepublic void saveUser(User user) {// TODO Auto-generated method stub }@Overridepublic List<User> getAll(Class clazz) {// TODO Auto-generated method stubreturn null;}@Overridepublic User isValidUser(String username, String password) {// TODO Auto-generated method stubreturn null;}//判断数据库中时候含有该用户 @Overridepublic User isValidAdmin(String username, String password) {User user = null;//调用hibernateList<User> list =super.search("FROM User WHERE grade='admin' AND username ='"+username+"' AND password = '"+password+"'");if(list!=null && list.size()>0){//若找到的list不为空那么则说明数据库中包含这个人user = list.get(0);}return user;}}
![](/assets/blank.gif)
Hibernate初始化借口并且从数据库中取数据
![](/assets/blank.gif)
![](/assets/blank.gif)
package com.zs.dao;import java.util.List;import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder;public class BaseDaoImpl implements IBaseDao {private SessionFactory sessionFactory;private Session session;private Transaction transaction;//初始session接口public void init(){Configuration configuration = new Configuration().configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();transaction = session.beginTransaction();}@Overridepublic Session getSession() {init();return session;}@Overridepublic void closeSession() {session.close();}@Overridepublic List search(String hql) {//调用session接口Session session = null;session = getSession();List alist = null;alist = session.createQuery(hql).list();//从数据库中查询 session.close();return alist;}}
![](/assets/blank.gif)
可以先建好一个名为User的数据库,设置一个用户,然后便可以测试了
完整代码可以在我github下载:https://github.com/calmound/web/tree/master/web
struts2 hibernate登录相关推荐
- Struts2 Hibernate集成示例教程
Struts2 Hibernate集成示例教程 Struts2和Hibernate都是各自领域中广泛使用的框架.今天我们将学习如何将Struts2 Web应用程序框架与Hibernate ORM框架集 ...
- 【struts2+hibernate+spring项目实战】实现用户登录功能(ssh)
一.概述 从今天才开始有时间来总结总结以前自己练习的一些东西,希望总结出来对以后可以更加便捷的来学习,也希望可以帮助到正需要这些东西的同行人,一起学习,共同进步. 二. 登录功能总结 2.1.登录功能 ...
- jsp管理系统页面模板_jsp+ssh(spring+struts2+hibernate)+mysql实现的高校实验室管理系统...
今天给大家演示的是一款由 jsp+ssh(spring+struts2+hibernate)+mysql实现的 高校实验室管理系统 本系统后端采用ssh框架, 前端采用bootstrap和layui框 ...
- java ee ssh三大框架知识点_详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)...
详解JAVAEE--SSH三大框架整合(spring+struts2+hibernate) 发布时间:2020-09-17 13:34:05 来源:脚本之家 阅读:64 作者:kent鹏 一.整合原理 ...
- Struts2 + Hibernate + Spring 以及javaweb模块问题解决(1)
Struts2 + Hibernate + Spring 以及javaweb模块问题解决 1.资源文件的配置:src文件夹里面要配置,action所在的目录中也要配置. 2.<s: action ...
- struts2+Hibernate实现名片管理系统
这次真的废了好大劲,不是这里落下了一个组件就是那里路径又写错了,趁现在能运行赶紧记录一下. (现在由于插入功能还不能实现,所以注册功能实现不了,应该是hql语句的问题,到时候有空的时候好好琢磨以下Us ...
- 基于SSH(Spring+Struts2+Hibernate)开发健身俱乐部会员管理系统
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者需要毕业设计项目,大作业指导,购买付费源码等,欢迎指教: 企鹅:869192208 文章目录 一.开发背景 二. 需求分析 ...
- Struts2+Hibernate+Spring 整合示例
转自:https://blog.csdn.net/tkd03072010/article/details/7468769 Struts2+Hibernate+Spring 整合示例 Spring整合S ...
- Struts2+Hibernate分页显示实例
下面是一个struts2+hibernate的分页显示,主要是用到了hibernate的相应分页方法大大简单了分页的代码 版本:Struts2.1.8 Hibernate3.2 Oracle9g 具体 ...
最新文章
- 报错-Unknown class in Interface Builder file
- HDU2024 C语言合法标识符
- java语言程序设计你_清华大学出版社-图书详情-《Java语言程序设计》
- 几个常用的JS代码.
- ‘SentencePieceProcessor‘ object has no attribute ‘encode‘ 报错解决
- 简单的Flash网络游戏源代码
- 数学建模系列--灰色关联分析
- 1-10000水仙花数
- 企查查某 2022/7/13 随机请求头JS逆向:★★
- 安装k8s时,报CA证书加载失败的错误
- 微信小程序云开发上传图片和删除图片
- 关于 K8s 集群中证书期限确认及续约的一些笔记
- 2022新版妹子写真网站源码+UI非常精美
- 像听故事一样学习Linux操作系统
- Authing 郑凌:我眼中的 Authing
- js的项目1:世纪佳缘、京东关闭广告、新浪下拉菜单、开关灯案例
- ChatGPT 被大面积封号,到底发生什么了?
- 大学生的小乐趣:html画布制作贪吃蛇小游戏
- ABT 钱包 2.3 版更新发布
- 记一次RE的做题思路 —— Mountain climbing
热门文章
- 【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )
- 【EventBus】EventBus 源码解析 ( 取消订阅 )
- 【Android 插件化】Hook 插件化框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements )
- bzoj 1863 二分+dp check
- mybatis映射器${}和#{}的区别
- Winform判断一个窗口是否以模态化方式打开
- Java下利用Jackson进行JSON解析和序列化
- Xcode7.2如何真机调试iOS 9.3的设备
- 经典算法题每日演练——第十九题 双端队列
- 为人父母始知天下事---“宝宝哭了”的问题来说说什么是分析,什么是设计