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

📄 countercommand.java

📁 很棒的web服务器源代码
💻 JAVA
字号:
// DirectoryResource.java// $Id: CounterCommand.java,v 1.4 2000/08/16 21:37:47 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.jigsaw.ssi.commands;import java.util.Dictionary;import org.w3c.www.http.HTTP;import org.w3c.jigsaw.http.Reply;import org.w3c.jigsaw.http.Request;import org.w3c.util.ArrayDictionary;import org.w3c.jigsaw.ssi.SSIFrame;/** * Implementation of the SSI <code>counter</code> command.   * Used to do things like cpt = cpt + 1. * @author Benoit Mahe <bmahe@sophia.inria.fr> */public class CounterCommand implements Command {    private final static String  NAME  = "cpt";    private final static boolean debug = true;    private static final String keys[] = {	"name",	"init",	"incr",	"value"    };    protected final int defaultinit = 0;    public String getName() {	return NAME;    }    public String getValue(Dictionary variables, String var, Request request) {	return String.valueOf(getCounterValue(variables, var));    }    protected void initCounterValue(Dictionary d, String name, String value) {	d.put(getClass().getName()+"."+name, new Integer(value));    }    protected void changeCounterValue(Dictionary d, String name, String incr) {	int change       = (Integer.valueOf(incr)).intValue();	int value = getCounterValue(d,name) + change;	d.put(getClass().getName()+"."+name, new Integer(value));    }    protected int getCounterValue(Dictionary d, String name) {	Integer value = (Integer)d.get(getClass().getName()+"."+name);	if (value != null) 	    return value.intValue();	else 	    return defaultinit;    }    /**     * return true if reply can be cached.     * @return a boolean.     */    public boolean acceptCaching() {	return true;    }    public Reply execute(SSIFrame ssiframe			 , Request request			 , ArrayDictionary parameters			 , Dictionary variables) {	Object values[] = parameters.getMany(keys);	String name     = (String) values[0];	String init     = (String) values[1];	String incr     = (String) values[2];	String value     = (String) values[3];	String text     = null;	if (name != null) {	    if (init != null)		initCounterValue(variables,name,init);	    if (incr != null) {		changeCounterValue(variables,name,incr);	    }	    if (value != null) {		text = String.valueOf(getCounterValue(variables,name));	    }	}	Reply reply = ssiframe.createCommandReply(request, HTTP.OK);	if (text != null)	    reply.setContent(text);	return reply;    }}

⌨️ 快捷键说明

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