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

📄 examplugin.java

📁 java网上考试系统
💻 JAVA
字号:
package com.qrsx.exam.struts;

import java.util.List;

import javax.servlet.ServletException;

import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
import org.hibernate.SessionFactory;

import com.qrsx.exam.cache.Cache;
import com.qrsx.exam.cache.CacheFactory;
import com.qrsx.exam.dao.DAOFactory;
import com.qrsx.exam.dao.RoleDAO;
import com.qrsx.exam.dao.util.HibernateUtil;
import com.qrsx.exam.model.Role;

/**
 * 自定义的Struts插件 用于实现Web应用的初始化工作
 * 
 * @author galaxy
 * 
 */
public class ExamPlugIn implements PlugIn {

    /**
     * 初始化<code>SessionFactory</code>.
     * 
     * @param servlet
     *            插件运行环境中<code>ActionServlet</code>对象的实例
     * @param config
     *            Struts的模块配置参数<code>ModuleConfig</code>的实例
     */
    public void init(ActionServlet servlet, ModuleConfig config)
            throws ServletException {
        Cache cache = CacheFactory.getCache();

        // 得到SessionFactory对象的实例,用于初始化Hibernate
        SessionFactory sf = HibernateUtil.getSessionFactory();
        try {
            // 开始一个新的事物
            sf.getCurrentSession().beginTransaction();
            // 得到操作用户角色的DAO
            RoleDAO dao = DAOFactory.getDao(RoleDAO.class);
            // 得到所有的用户角色对象
            List<Role> roles = dao.findAll();
            // 缓存所有的用户角色信息
            for (Role role : roles) {
                cache.put(role.getName(), role);
            }
            // 关闭当前的事物
            sf.getCurrentSession().getTransaction().commit();
        } catch (Throwable ex) {
            ex.printStackTrace();
            sf.getCurrentSession().getTransaction().rollback();
        }
    }

    /**
     * 销毁SessionFactory的实例。
     */
    public void destroy() {
        HibernateUtil.shutdown();
    }
}

⌨️ 快捷键说明

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