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

📄 oscacheservlet.java

📁 一个不错的cache
💻 JAVA
字号:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.oscache.web;import com.opensymphony.oscache.base.NeedsRefreshException;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.PageContext;/** * Servlet used to test the web portion of osCache. It performs the operations * received by parameter * * $Id: OscacheServlet.java,v 1.1.1.1 2003/07/17 20:28:08 chris_miller Exp $ * @version        $Revision: 1.1.1.1 $ * @author <a href="mailto:fbeauregard@pyxis-tech.com">Francois Beauregard</a> * @author <a href="mailto:abergevin@pyxis-tech.com">Alain Bergevin</a> */public class OscacheServlet extends HttpServlet {    /** Output content type */    private static final String CONTENT_TYPE = "text/html";    /** Clean up resources */    public void destroy() {    }    /**     * Process the HTTP Get request     * <p>     * @param request The HTTP request     * @param response The servlet response     * @throws ServletException     * @throws IOException     */    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        boolean varForceRefresh = false;        int refreshPeriod = 0;        int scope = PageContext.APPLICATION_SCOPE;        String forceCacheUse = null;        String key = null;        // Cache item        Long item;        // Get the admin        ServletCacheAdministrator admin = ServletCacheAdministrator.getInstance(getServletContext());        // Translate parameters        try {            String paramValue = request.getParameter("forceRefresh");            if ((paramValue != null) && (paramValue.length() > 0)) {                varForceRefresh = Boolean.valueOf(paramValue).booleanValue();            }            paramValue = request.getParameter("scope");            if ((paramValue != null) && (paramValue.length() > 0)) {                scope = getScope(paramValue);            }            paramValue = request.getParameter("refreshPeriod");            if ((paramValue != null) && (paramValue.length() > 0)) {                refreshPeriod = Integer.valueOf(paramValue).intValue();            }            forceCacheUse = request.getParameter("forcecacheuse");            key = request.getParameter("key");        } catch (Exception e) {            getServletContext().log("Error while retrieving the servlet parameters: " + e.toString());        }        // Check if all the items should be flushed        if (varForceRefresh) {            admin.flushAll();        }        try {            // Get the data from the cache            item = (Long) admin.getFromCache(scope, request, key, refreshPeriod);        } catch (NeedsRefreshException nre) {            // Check if we want to force the use of an item already in cache            if ("yes".equals(forceCacheUse)) {                admin.cancelUpdate(scope, request, key);                item = (Long) nre.getCacheContent();            } else {                item = new Long(System.currentTimeMillis());                admin.putInCache(scope, request, key, item);            }        }        // Generate the output        response.setContentType(CONTENT_TYPE);        PrintWriter out = response.getWriter();        out.println("<html>");        out.println("<head><title>OscacheServlet</title></head>");        out.println("<body>");        out.println("<b>This is some cache content </b>: " + item.toString() + "<br>");        out.println("<b>Cache key</b>: " + admin.getCacheKey() + "<br>");        out.println("<b>Entry key</b>: " + admin.generateEntryKey("Test_key", request, scope) + "<br>");        out.println("</body></html>");    }    /**Initialize global variables*/    public void init(ServletConfig config) throws ServletException {        super.init(config);    }    /**     * Return the scope number corresponding to it's string name     */    private int getScope(String value) {        if ((value != null) && (value.equalsIgnoreCase("session"))) {            return PageContext.SESSION_SCOPE;        } else {            return PageContext.APPLICATION_SCOPE;        }    }}

⌨️ 快捷键说明

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