一个简单的Hibernate登录实例
2016-07-04 21:37
591 查看
这是一个关于Hibernate登录的实例,开发工具:MyEclipse2014,mysql,jdk,hibernate, struts2。下面是实例的具体步骤。
1. 新建一个Web Project项目Hibernate_EXA。
2. 在mysql数据库中新建数据库名为stms和表user,user两个字段name和password,均设为varchar型,name为主键。
3. 打开数据库试图,新建一个数据库连接,具体步骤略,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51782390
数据连接名命名为MySqlConn,这个由自己定义。
4. 在项目中配置hibernate,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51779256
在配置向导中的数据库驱动(DB Driver)选择MySqlConn,按向导配置直到完成。
5. 使用Hibernate自动生成永久的java文件
在src目录下新建bean包。在DB Browser下,右键stms数据库下的user表,选择Hibernate Reverse Engineering,弹出如下对话框:
如上图所示,点击“Next >”,如下图
如上图所示,点击“Next >”,如下图
如上图,点击“Finish”,完成配置后,在bean包下面生成了三个文件,AbstractUser.java,User.jva,User.hbm.xml。同时可以看到hibernate.cfg.xml文件里有了User.hbm.xml的映射。
<?xmlversion='1.0'
encoding='UTF-8'?>
<!DOCTYPE
hibernate-configuration PUBLIC
"-//Hibernate/HibernateConfiguration DTD 3.0//
4000
EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property
name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property
name="connection.url">
jdbc:mysql://localhost:3306/stms
</property>
<property
name="connection.username">root</property>
<property
name="connection.password">cyj</property>
<property
name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property
name="myeclipse.connection.profile">
MySqlConn
</property>
<mapping
resource="bean/User.hbm.xml"
/>
</session-factory>
</hibernate-configuration>
6. 添加struts2框架,具体步骤省略,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51803997
7. 新建一个包com.su,新建一个login.java类,放到com.su下,longin.java文件内容为:
import java.util.*;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
import bean.Good;
import bean.User;
public
class login {
private String
username;
private String
password;
public
String getUsername() {
returnusername;
}
public
void setUsername(String userName){
this.username = userName;
}
public String getPassword() {
return
password;
}
public
void setPassword(String password){
this.password = password;
}
public String execute() {
/*
if("suo".equals(this.userName)&& "123".equals(this.password))
return "success";
else
return"fail";
*/
boolean has =
false;
try {
SessionFactory sf = newConfiguration().configure().buildSessionFactory();
Session session =sf.openSession();
List catlist = null;
catlist =session.createQuery("from User").list();
Transaction tx =session.beginTransaction();
if (catlist !=
null) {
Iterator it= catlist.iterator();
while (it.hasNext()) {
User user =(User) it.next();
//System.out.println("ID: " + good.getId() + "
性别:"
//+ good.getName()+"\n");
if(user.getName().equals(this.username) && user.getPassword().equals(this.password))
{
has = true;
break;
}
else
has= false;
}
}
tx.commit();
session.clear();
if (has)
return
"success";
else
return
"fail";
}
catch (HibernateException e) {
// TODO: handle exception
e.printStackTrace();
return
"fail";
}
}
}
Struts.xml的配置为:
<?xmlversion="1.0"
encoding="UTF-8"?>
<!DOCTYPE
struts PUBLIC"-//Apache Software Foundation//DTD StrutsConfiguration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package
name="test"
namespace="/test"extends="struts-default">
<actionname="login"
class="com.su.login"method="execute">
<resultname="success">/WEB-INF/result/success.jsp</result>
<resultname="fail">/WEB-INF/result/fail.jsp</result>
</action>
</package>
</struts>
Web.xml的配置为:
<?xmlversion="1.0"
encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://xmlns.jcp.org/xml/ns/javaee"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID"
version="3.1">
<display-name>Hibernate_EXA</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
index.jsp的文件内容为:
<%@ page language="java" import="java.util.*"pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>用户登录界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control"content="no-cache">
<meta http-equiv="expires"content="0">
<meta http-equiv="keywords"content="keyword1,keyword2,keyword3">
<meta http-equiv="description"content="This is my page">
<!--
<link rel="stylesheet"type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
// 验证输入不为空的脚本代码
function checkForm(form)
{
if (form.username.value =="")
{
alert("用户名不能为空!");
form.username.focus();
return false;
}
if (form.password.value =="")
{
alert("密码不能为空!");
form.password.focus();
return false;
}
return true;
}
</script>
<body>
<%=request.getContextPath()%> <br/>
<%=basePath%> <br/>
<formaction="/Hibernate_EXA/test/login" method="post"onSubmit="return checkForm(this);">
用户名:<inputtype="text" name="username"/><br/>
密码:<inputtype="password" name="password"/><br/>
<inputtype="submit" value="登录">
<inputtype="reset" value="重置">
</form>
</body>
</html>
启动tomcat服务器,可以进行登录测试了。
1. 新建一个Web Project项目Hibernate_EXA。
2. 在mysql数据库中新建数据库名为stms和表user,user两个字段name和password,均设为varchar型,name为主键。
3. 打开数据库试图,新建一个数据库连接,具体步骤略,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51782390
数据连接名命名为MySqlConn,这个由自己定义。
4. 在项目中配置hibernate,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51779256
在配置向导中的数据库驱动(DB Driver)选择MySqlConn,按向导配置直到完成。
5. 使用Hibernate自动生成永久的java文件
在src目录下新建bean包。在DB Browser下,右键stms数据库下的user表,选择Hibernate Reverse Engineering,弹出如下对话框:
如上图所示,点击“Next >”,如下图
如上图所示,点击“Next >”,如下图
如上图,点击“Finish”,完成配置后,在bean包下面生成了三个文件,AbstractUser.java,User.jva,User.hbm.xml。同时可以看到hibernate.cfg.xml文件里有了User.hbm.xml的映射。
<?xmlversion='1.0'
encoding='UTF-8'?>
<!DOCTYPE
hibernate-configuration PUBLIC
"-//Hibernate/HibernateConfiguration DTD 3.0//
4000
EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property
name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property
name="connection.url">
jdbc:mysql://localhost:3306/stms
</property>
<property
name="connection.username">root</property>
<property
name="connection.password">cyj</property>
<property
name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property
name="myeclipse.connection.profile">
MySqlConn
</property>
<mapping
resource="bean/User.hbm.xml"
/>
</session-factory>
</hibernate-configuration>
6. 添加struts2框架,具体步骤省略,可以参考之前的博客地址:http://blog.csdn.net/moon__stone888888/article/details/51803997
7. 新建一个包com.su,新建一个login.java类,放到com.su下,longin.java文件内容为:
import java.util.*;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
import bean.Good;
import bean.User;
public
class login {
private String
username;
private String
password;
public
String getUsername() {
returnusername;
}
public
void setUsername(String userName){
this.username = userName;
}
public String getPassword() {
return
password;
}
public
void setPassword(String password){
this.password = password;
}
public String execute() {
/*
if("suo".equals(this.userName)&& "123".equals(this.password))
return "success";
else
return"fail";
*/
boolean has =
false;
try {
SessionFactory sf = newConfiguration().configure().buildSessionFactory();
Session session =sf.openSession();
List catlist = null;
catlist =session.createQuery("from User").list();
Transaction tx =session.beginTransaction();
if (catlist !=
null) {
Iterator it= catlist.iterator();
while (it.hasNext()) {
User user =(User) it.next();
//System.out.println("ID: " + good.getId() + "
性别:"
//+ good.getName()+"\n");
if(user.getName().equals(this.username) && user.getPassword().equals(this.password))
{
has = true;
break;
}
else
has= false;
}
}
tx.commit();
session.clear();
if (has)
return
"success";
else
return
"fail";
}
catch (HibernateException e) {
// TODO: handle exception
e.printStackTrace();
return
"fail";
}
}
}
Struts.xml的配置为:
<?xmlversion="1.0"
encoding="UTF-8"?>
<!DOCTYPE
struts PUBLIC"-//Apache Software Foundation//DTD StrutsConfiguration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package
name="test"
namespace="/test"extends="struts-default">
<actionname="login"
class="com.su.login"method="execute">
<resultname="success">/WEB-INF/result/success.jsp</result>
<resultname="fail">/WEB-INF/result/fail.jsp</result>
</action>
</package>
</struts>
Web.xml的配置为:
<?xmlversion="1.0"
encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://xmlns.jcp.org/xml/ns/javaee"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID"
version="3.1">
<display-name>Hibernate_EXA</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
index.jsp的文件内容为:
<%@ page language="java" import="java.util.*"pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>用户登录界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control"content="no-cache">
<meta http-equiv="expires"content="0">
<meta http-equiv="keywords"content="keyword1,keyword2,keyword3">
<meta http-equiv="description"content="This is my page">
<!--
<link rel="stylesheet"type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
// 验证输入不为空的脚本代码
function checkForm(form)
{
if (form.username.value =="")
{
alert("用户名不能为空!");
form.username.focus();
return false;
}
if (form.password.value =="")
{
alert("密码不能为空!");
form.password.focus();
return false;
}
return true;
}
</script>
<body>
<%=request.getContextPath()%> <br/>
<%=basePath%> <br/>
<formaction="/Hibernate_EXA/test/login" method="post"onSubmit="return checkForm(this);">
用户名:<inputtype="text" name="username"/><br/>
密码:<inputtype="password" name="password"/><br/>
<inputtype="submit" value="登录">
<inputtype="reset" value="重置">
</form>
</body>
</html>
启动tomcat服务器,可以进行登录测试了。
相关文章推荐
- 翻译器
- g++ gcc 的区别
- 【记录】看门狗定时器基础
- HashSet的实现原理
- windows下在cmd窗口中查看端口占用情况
- leetcode No24. Swap Nodes in Pairs
- mongoDB- - 2 增、删、改 操作
- 保存图片
- Vue.js学习资料集(持续更新中)
- 【matlab】离散化启发式算法编程中生成随机数
- 在windows下如何添加、删除和修改静态路由
- HDU 1372 Knight Moves 【经典BFS】
- 算法之 排序算法 (二) Java
- Android CrashHandler 自定义崩溃异常捕获
- asp.net ImageButton 控件
- 分享一个牛逼的chrome插件--WhatFont
- 分享一个牛逼的chrome插件--WhatFont
- weblogic 10.3.6 集群搭建
- 日常生活小记
- poj3208 Apocalypse Someday