cookiecommand.java

来自「很棒的web服务器源代码」· Java 代码 · 共 93 行

JAVA
93
字号
// CookieCommand.java// $Id: CookieCommand.java,v 1.4 2000/08/16 21:37:47 ylafon Exp $  // (c) COPYRIGHT MIT and INRIA, 1997.// 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.www.http.HttpCookie;import org.w3c.www.http.HttpCookieList;import org.w3c.www.http.HttpMessage;import org.w3c.jigsaw.http.Reply;import org.w3c.jigsaw.http.Request;import org.w3c.jigsaw.ssi.SSIFrame;import org.w3c.util.ArrayDictionary;/** * Cookies access from server side includes. * Powerfull thingy ! */public class CookieCommand implements Command {    private final static String NAME = "cookie";    private static final boolean debug = true;    private static final String[] keys = {	"get",	// get=<cookie-name> alt=<content>	"if",	// if=<cookie-name>  then=<content> alt=<content>	"alt",	"then"    };    public String getName() {	return NAME;    }    public Reply execute(SSIFrame ssiframe			 , Request request			 , ArrayDictionary parameters			 , Dictionary variables) {	Object values[]  = parameters.getMany(keys);	String pget  = (String) values[0];	String pif   = (String) values[1];	String palt  = (String) values[2];	String pthen = (String) values[3];	if ( debug ) 	    System.out.println("cookie: get="+pget			       +", if="+pif			       +", alt="+palt			       +", then="+pthen);	String content   = null;	if ( pget != null ) {	    // Try acessing that cookie value:	    HttpCookieList list   = request.getCookie();	    HttpCookie     cookie = null;	    if ( list != null )		cookie = list.getCookie(pget);	    content = (cookie == null) ? palt : cookie.getValue();	} else if ( pif != null ) {	    HttpCookieList list   = request.getCookie();	    HttpCookie     cookie = null;	    if ( list != null )		cookie = list.getCookie(pif);	    content = (cookie != null) ? pthen : palt;	} 	// We are NOT doing notMod hack here (tricky and useless ?)	Reply reply = ssiframe.createCommandReply(request, HTTP.OK);	reply.setContent(content);	return reply;    }    public String getValue(Dictionary variables, String variable,			   Request request) {	return "null";    }    /**     * return true if reply can be cached.     * @return a boolean.     */    public boolean acceptCaching() {	return true;    }}

⌨️ 快捷键说明

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