⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connhibernatefilter.java

📁 struts+hibernate BBS mysql数据库 功能基本齐全
💻 JAVA
字号:
package com.elan.forum.filter;

import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.elan.db.ElHbnDB;

public class ConnHibernateFilter implements Filter {
	private static final Log log = LogFactory.getLog(ConnHibernateFilter.class);
	protected FilterConfig filterConfig = null;

	public void destroy() {
		this.filterConfig = null;
	}

	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain chain) throws IOException, ServletException {
		log.debug("HibernateSessionFilter start");
		//Date date = new Date();
		//DateFormat df = new SimpleDateFormat("yyyy-MM-dd '时间--'HH:mm:ss");
		//System.out.println("----当前时间:" + df.format(date) + "----");
		System.out.println("HibernateFilter+++++++++++++++++++++++");
		Session session = ElHbnDB.getSession();
		log.info("HibernateSessionFilter begin transaction");
		System.out.println("filter begin transaction");
		Transaction tx = session.beginTransaction(); // 开始事务
		log.debug("HibernateSessionFilter begin doChain");
		try {
			chain.doFilter(arg0, arg1);//包裹了捕获逻辑的异常
			//log.debug("HibernateSessionFilter begin commit");
			System.out.println("HibernateFilter++++++++++++++++++++++++");
			try {
				tx.commit();
			} catch (Exception e) {
				try {
					tx.rollback();
				} catch (RuntimeException ex) {
					log.error(ex);
				}
			}
		} finally {
			System.out.println("Filter begin close session");
			ElHbnDB.closeSession();
		}
	}

	public void init(FilterConfig arg0) throws ServletException {
		this.filterConfig = arg0;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -