/** * @Title: OpenSessionView.java * @Package org.util * @Description: TODO该方法的主要作用: * @author A18ccms A18ccms_gmail_com * @date 2017-5-6 下午1:48:25 * @version V1.0 */ package org.web; import java.io.IOException; 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 org.dao.BaseHibernateDao; import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.Transaction; /** * * 项目名称:votedemo * 类名称:OpenSessionView * 类描述: 让session 始终保持着一个打开的状态 * 创建人:Mu Xiongxiong * 创建时间:2017-5-6 下午1:48:25 * 修改人:Mu Xiongxiong * 修改时间:2017-5-6 下午1:48:25 * 修改备注: * @version * */ public class OpenSessionView extends BaseHibernateDao implements Filter { /**(非 Javadoc) * <p>Title: destroy</p> * <p>Description(描述): </p> * @see javax.servlet.Filter#destroy() */ @Override public void destroy() { // TODO Auto-generated method stub } /**(非 Javadoc) * <p>Title: doFilter</p> * <p>Description(描述): </p> * @param arg0 * @param arg1 * @param arg2 * @throws IOException * @throws ServletException * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) */ @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { Session session = null; Transaction tx = null; try { session = getSession(); tx = session.beginTransaction(); arg2.doFilter(arg0, arg1); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ closeSession(); } } /**(非 Javadoc) * <p>Title: init</p> * <p>Description(描述): </p> * @param arg0 * @throws ServletException * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) */ @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }