用hibernate框架和struts2框架做一个简单的注册和登陆验证

我的上一条博客中已经写了如何使用hibernate连接数据库,在做好以上条件的基础上添加以下操作就行了

这里是我的上一条博客关于如何使用hibernate连接数据库的详细做法。点击打开链接

这里正式开始:

首先,需要将struts2的相关Jar包导入到应用的加载路径。这里我将相关JAR包上传到我的资源。

用hibernate框架和struts2框架做一个简单的注册和登陆验证_第1张图片

然后,你需要配置你的struts2框架,也就是在SRC根目录下创建一个struts.xml文件,以及在web.xml中配置struts2。

具体设置文件如下:

用hibernate框架和struts2框架做一个简单的注册和登陆验证_第2张图片

下面是struts.xml的具体源码:



	
	
	
	
		
	
	
	/registsuccess.jsp
	
	
	/loginsuccess.jsp
	/loginerror.jsp
	
		
	

下面是在web.xml中配置struts2:



  ph05
  
  
  
  struts2
   
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  
   
  
   
  struts2
   
  /*
  
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  

配置完struts2框架,接下来就是创建好需要用到的JSP:

用hibernate框架和struts2框架做一个简单的注册和登陆验证_第3张图片

其中LandPage.jsp代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




首页


用户名: 密码:

regist.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




首页


用户名: 密码:

上面两个JSP中对应的action已经在struts.xml中配置

接下来在一个新的包里面创建两个POJOaction实现类。

用hibernate框架和struts2框架做一个简单的注册和登陆验证_第4张图片

其中的User.java是之前在上一条博客中连接数据库中用到的users表对应的映射类,这里也继续用它。

下面是User.java的代码

package com.ph05;
import java.io.Serializable;

public class User implements Serializable {
	private int id;
	private String username;
	private String password;
	private int role;
	public User(){}
	public User(String username,String password,int role){
		this.username = username;
		this.password = password;
		this.role = role;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	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 int getRole() {
		return role;
	}
	public void setRole(int role) {
		this.role = role;
	}
	

}

login.java的实现:(登陆验证)

package com.ph05.login;
import java.util.List;
import org.hibernate.Query;
import com.opensymphony.xwork2.ActionSupport;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import com.ph05.User;
public class login extends ActionSupport{
	private String username;
	private String password;
	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 String execute(){
		//创建User对象
		User user = new User();
		//实例化Configuration
		Configuration configuration = new Configuration();
		//加载Hibernate.cfg.xml文件
		configuration.configure("/hibernate.cfg.xml");
		//创建SessionFactory
		//Hibernate4.3创建SessionFactory的方式
		StandardServiceRegistryBuilder standardServiceRegistryBuilder=
						new StandardServiceRegistryBuilder();
		standardServiceRegistryBuilder.applySettings(configuration.getProperties());
		SessionFactory sessionfactory = configuration.buildSessionFactory(standardServiceRegistryBuilder.build());
		//打开Session
		Session session =sessionfactory.openSession();
		//开始一个事物
		Transaction trans = session.beginTransaction();
		//查询users表
		Query query = session.createQuery("from User");
		//执行查询
		List list = query.list();
		//判断账号密码是否为空
		if(!this.username.equals(null)&&!this.password.equals(null))
		{
			for(User u:list)
			{
				if(u.getUsername().equals(username)&&u.getPassword().equals(password))				
				{
					return SUCCESS;
				}
				else
				{
					return ERROR;
				}
			}
			
			}
		//提交事务
		trans.commit();
		//关闭Session
		session.close();
		return ERROR;
		
		}
	
				
	}
regist.java的实现:(注册功能,插入到users表)
package com.ph05.login;
import com.opensymphony.xwork2.ActionSupport;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import com.ph05.User;
public class regist extends ActionSupport{
	private String username;
	private String password;
	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 String execute(){
		//创建User对象
				User user = new User(this.username,this.password,1);
				//实例化Configuration
				Configuration configuration = new Configuration();
				//加载Hibernate.cfg.xml文件
				configuration.configure("/hibernate.cfg.xml");
				//创建SessionFactory
				//Hibernate4.3创建SessionFactory的方式
				StandardServiceRegistryBuilder standardServiceRegistryBuilder=
								new StandardServiceRegistryBuilder();
				standardServiceRegistryBuilder.applySettings(configuration.getProperties());
				SessionFactory sessionfactory = configuration.buildSessionFactory(standardServiceRegistryBuilder.build());
				//打开Session
				Session session =sessionfactory.openSession();
				//开始一个事物
				Transaction trans = session.beginTransaction();
				//持久化操作
				session.save(user);
				//提交事务
				trans.commit();
				//关闭Session
				session.close();
				return SUCCESS;
		
	}
}
其他配置跟原来上一个博客的内容配置相同。



你可能感兴趣的:(用hibernate框架和struts2框架做一个简单的注册和登陆验证)