基于struts2,hibernate的小javaweb项目

基于struts2,hibernate的小javaweb项目

19:47:49基于struts2,hibernate的小javaweb项目_第1张图片基于struts2,hibernate的小javaweb项目_第2张图片基于struts2,hibernate的小javaweb项目_第3张图片

这是截图

闲话不说 就开始了

web-xml:



	
	
		struts2
		
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
		
	

	
		struts2
		/*
	

	
		index.jsp
	

 struts-xml:

 






	
		
		
			
				/WEB-INF/student/addMessage.jsp
			
		

		
			
				/WEB-INF/student/deleteMessage.jsp
			
		
		
			
				/WEB-INF/student/findMessage.jsp
			

		
		
		
			
				/WEB-INF/student/lookMessage.jsp
			
			/index.jsp
		

		
		
			
				lookMessageAction
			
			/student/deleteMessage.jsp
		
		
		
			
				lookMessageAction
			
			/student/deleteMessage.jsp
		

		

		
			
				/WEB-INF/student/updateMessage.jsp
			
			/student/findMessage.jsp
		
		

		
			
				lookMessageAction
			
			/WEB-INF/student/updateMessage.jsp
		
	


 hibernate.cfg.xml:(申明 这里用的是SQL service 2005   若修改 这里修改 链接数据库    该数据库  名字LQQ  里面一张表格   在最后会发布)






	
		sa
		
			jdbc:jtds:sqlserver://localhost:1433;DatabaseName=LQQ
		
		
			org.hibernate.dialect.SQLServerDialect
		
		
		sa
		
			net.sourceforge.jtds.jdbc.Driver
		
		true
		
		
	

 然后 贴出  HibernateSessionFactory.java:

package sedion.xq.hibernate;

import javax.swing.JOptionPane;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateSessionFactory {
	private static SessionFactory sessionFactory;
	private static Configuration configuration = new Configuration();

	public HibernateSessionFactory() {
	}

	static {
		try {
			Configuration configure = configuration
					.configure("hibernate.cfg.xml");
			System.out.println(configure);
			sessionFactory = configure.buildSessionFactory();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("HibernateSessionFactory  wrong!!");
			message("生成SessionFactory失败"+e);
		}
	}

	public static Session getSession() {
		System.out.println(sessionFactory.openSession());
		return sessionFactory.openSession();
	}
	public static void message(String mess){
		int type=JOptionPane.YES_NO_CANCEL_OPTION;
		String title="提示消息";
		JOptionPane.showMessageDialog(null,mess,title, type);
	}
}

 

然后 再贴出  ORM:

Stuinfo.java:

package sedion.xq.ORM;

public class Stuinfo {
	private String id;
	private String name;
	private String sex;
	private int age;
	private float weight;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getWeight() {
		return weight;
	}

	public void setWeight(float weight) {
		this.weight = weight;
	}

}

 该类的映射文件如下:

Stuinfo.hbm.xml(自然可以根据这个表格  还原数据库的表格  表名:stuinfo):




	
		
			
			
		
		
		
		
		
	

 

然后 再贴出  DAO层:

StudentDao.java:

package sedion.xq.DAO;

import java.util.List;

import javax.swing.JOptionPane;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import sedion.xq.ORM.Stuinfo;
import sedion.xq.hibernate.HibernateSessionFactory;
import sun.swing.UIAction;

public class StudentDao {
	private Transaction transaction;
	private Session session;
	private Query query;

	public StudentDao() {

	}

	// 显示
	public List findAllInfo() {
		session = HibernateSessionFactory.getSession();
		try {
			transaction = session.beginTransaction();
			String querysString = "from Stuinfo";
			query = session.createQuery(querysString);
			List list = query.list();
			System.out.println(list);
			transaction.commit();
			session.close();
			return list;
		} catch (Exception e) {

			message("findInfo.error" + e);
			e.printStackTrace();
			return null;
		}
	}

	// save message

	public boolean saveInfo(Stuinfo info) {
		try {
			session = HibernateSessionFactory.getSession();
			transaction = session.beginTransaction();
			session.save(info);
			transaction.commit();
			session.close();
			return true;
		} catch (Exception e) {

			message("saveInfo.error" + e);
			e.printStackTrace();
			return false;
		}
	}

	public boolean deleteInfo(String id) {
		try {
			session = HibernateSessionFactory.getSession();
			transaction = session.beginTransaction();
			Stuinfo info = new Stuinfo();
			info = (Stuinfo) session.get(Stuinfo.class, id);
			session.delete(info);
			transaction.commit();
			session.close();
			return true;
		} catch (Exception e) {
			message("deleteInfo.error" + e);
			e.printStackTrace();
			return false;
		}
	}

	public List findInfo(String id) {
		try {
			session = HibernateSessionFactory.getSession();
			transaction = session.beginTransaction();
			query = session.createQuery("from Stuinfo stu where stu.id like?");
			query.setString(0, id);
			List list = query.list();
			System.out.println(list);
			transaction.commit();
			session.close();
			return list;
		} catch (Exception e) {
			message("deleteInfo.error" + e);
			e.printStackTrace();
			return null;
		}
	}

	public boolean updateInfo(Stuinfo info,String id) {
		try {
			System.out.println(id+"didiididid");
			session = HibernateSessionFactory.getSession();
			transaction = session.beginTransaction();
			query = session.createQuery("delete from Stuinfo stu where stu.id like?");
			query.setString(0, id);
			query.executeUpdate();
			session.saveOrUpdate(info);
			transaction.commit();
			session.close();
			return true;
		} catch (Exception e) {
			message("updateInfo.error" + e);
			e.printStackTrace();
			return false;
		}
	}

	private void message(String mess) {
		int type = JOptionPane.YES_NO_CANCEL_OPTION;
		String title = "提示消息";
		JOptionPane.showMessageDialog(null, mess, title, type);
	}

}

 下面是6个 jsp:

index.JSP:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息管理
	

	
		
学生信息管理系统Struts2+ Hibernate
------made by sedion.xq
点击进入

 

lookMessage.jsp:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息统一查询
	

	
		
			

查看学生信息 添加学生信息 修改学生信息 删除学生信息





你要查询的数据表的人数共有 <%=request.getSession().getAttribute("count")%>人
记录条数 学号 姓名 性别 年龄 体重
${id} ${name} ${sex} ${age} ${weight}

 updateMessage.jsp:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息--修改信息
	

	
		
			

查看学生信息 添加学生信息 修改学生信息 删除学生信息





修改学生信息

 findMessage.jsp:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息管理系统-查找
	

	
		
			

查看学生信息 添加学生信息 修改学生信息 删除学生信息





修改学生信息

 deleteMessage.jsp:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息--删除
	

	

		
			
				

查看学生信息 添加学生信息 修改学生信息 删除学生信息





删除学生信息

 addMessage.jsp:

<%@	page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


	
		学生信息--添加信息
	

	
		
			

查看学生信息 添加学生信息 修改学生信息 删除学生信息





添加学生信息

 下面是6个action包里面的处理:

turnAction.java:

 

package sedion.xq.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

import sedion.xq.DAO.StudentDao;
import sedion.xq.ORM.Stuinfo;

public class turnAction extends ActionSupport {
	private List list = new ArrayList();

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}

	public String execute() throws Exception {

		return "success";

	}

	public String getid() throws Exception {
		StudentDao dao = new StudentDao();
		list = dao.findAllInfo();
		return "success";

	}
}

 lookMessageAction.java:

package sedion.xq.action;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.sun.org.apache.bcel.internal.generic.NEW;

import sedion.xq.DAO.StudentDao;
import sedion.xq.ORM.Stuinfo;

public class lookMessageAction extends ActionSupport{
	private HttpServletRequest request;
	private String message = "input";
	private List list=new ArrayList();

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}

	@SuppressWarnings("unchecked")
	public String execute() throws Exception {
		try {		
		request = ServletActionContext.getRequest();
		StudentDao dao = new StudentDao();
		list = dao.findAllInfo();
		request.getSession().setAttribute("count", list.size());
		request.getSession().setAttribute("allInfo", list);
		message = "success";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return message;

	}
}

 updateMessageAction:

package sedion.xq.action;

import javax.swing.JOptionPane;

import sedion.xq.DAO.StudentDao;
import sedion.xq.ORM.Stuinfo;

import com.opensymphony.xwork2.ActionSupport;

public class updateMessageAction extends ActionSupport {
	private String id;
	private String name;
	private String sex;
	private int age;
	private float weight;
	private String message = "input";

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getWeight() {
		return weight;
	}

	public void setWeight(float weight) {
		this.weight = weight;
	}

	private Stuinfo Info() {
		Stuinfo info = new Stuinfo();
		info.setId(this.getId());
		info.setName(this.getName());
		info.setSex(this.getSex());
		info.setAge(this.getAge());
		info.setWeight(this.getWeight());
		return info;
	}

	public String execute() throws Exception {
		StudentDao dao = new StudentDao();
		boolean update = dao.updateInfo(Info(),this.getId());
		if (update) {
			message = "success";
		}
		return message;
	}

	private void message(String mess) {
		int type = JOptionPane.YES_NO_CANCEL_OPTION;
		String title = "提示消息";
		JOptionPane.showMessageDialog(null, mess, title, type);
	}
}

 findMessageAction.java:

package sedion.xq.action;

import java.util.ArrayList;
import java.util.List;

import sedion.xq.DAO.StudentDao;
import sedion.xq.ORM.Stuinfo;

import com.opensymphony.xwork2.ActionSupport;

public class findMessageAction extends ActionSupport {
	private String id;
	private String message;
	private List list = new ArrayList();

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String execute() throws Exception {
		try {
			StudentDao dao = new StudentDao();
			list = dao.findInfo(this.getId());
			message = "success";

		} catch (Exception e) {
			e.printStackTrace();
		}
		return message;

	}

}

 deleteMessageAction.java:

package sedion.xq.action;

import org.apache.struts2.ServletActionContext;

import sedion.xq.DAO.StudentDao;

public class deleteMessageAction {
	private String id;
	private String message;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String execute() throws Exception {
		try {
			StudentDao dao = new StudentDao();
			boolean del=dao.deleteInfo(this.getId());
			if (del) {
				message = "success";
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return message;

	}
}

 addMessageAction.java:

package sedion.xq.action;

import java.util.List;

import javax.swing.JOptionPane;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.finder.ClassFinder.Info;

import sedion.xq.DAO.StudentDao;
import sedion.xq.ORM.Stuinfo;

public class addMessageAction extends ActionSupport{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String id;
	private String name;
	private String sex;
	private int age;
	private float weight;
	private String message = "input";

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getWeight() {
		return weight;
	}

	public void setWeight(float weight) {
		this.weight = weight;
	}

	public String execute() throws Exception {
		StudentDao dao = new StudentDao();
		boolean save = dao.saveInfo(Info());
		if (save) {
			message = "success";
		}
		return message;
	}

	private Stuinfo Info() {
		Stuinfo info = new Stuinfo();
		info.setId(this.getId());
		info.setName(this.getName());
		info.setSex(this.getSex());
		info.setAge(this.getAge());
		info.setWeight(this.getWeight());
		return info;
	}

	private void message(String mess) {
		int type = JOptionPane.YES_NO_CANCEL_OPTION;
		String title = "提示消息";
		JOptionPane.showMessageDialog(null, mess, title, type);
	}
}

 终于到最后了  , 下面发下  表格的截图

   基于struts2,hibernate的小javaweb项目_第4张图片

 

 谢谢  java大师我的偶像   一步一步接近

你可能感兴趣的:(基于struts2,hibernate的小javaweb项目)