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

📄 querystring.java

📁 jxme的一些相关程序,主要是手机上程序开发以及手机和计算机通信的一些程序资料,程序编译需要Ant支持
💻 JAVA
字号:
/*

 * Copyright (c) 2001 Sun Microsystems, Inc. All rights

 * reserved.

 *

 * Redistribution and use in source and binary forms, with or without

 *  modification, are permitted provided that the following conditions

 * are met:

 *

 * 1. Redistributions of source code must retain the above copyright

 * notice, this list of conditions and the following disclaimer.

 *

 * 2. Redistributions in binary form must reproduce the above copyright

 * notice, this list of conditions and the following disclaimer in

 * the documentation and/or other materials provided with the

 * distribution.

 *

 * 3. The end-user documentation included with the redistribution,

 * if any, must include the following acknowledgment:

 * "This product includes software developed by the

 * Sun Microsystems, Inc. for Project JXTA."

 * Alternately, this acknowledgment may appear in the software itself,

 * if and wherever such third-party acknowledgments normally appear.

 *

 * 4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA"

 * must not be used to endorse or promote products derived from this

 * software without prior written permission. For written

 * permission, please contact Project JXTA at http://www.jxta.org.

 *

 * 5. Products derived from this software may not be called "JXTA",

 * nor may "JXTA" appear in their name, without prior written

 * permission of Sun.

 *

 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

 * SUCH DAMAGE.

 *

 *====================================================================

 *

 * This software consists of voluntary contributions made by many

 * individuals on behalf of Project JXTA. For more

 * information on Project JXTA, please see

 * <http://www.jxta.org/>.

 *

 * This license is based on the BSD license adopted by the Apache Foundation.

 *

 * $Id: QueryString.java,v 1.4 2002/06/05 22:30:48 bondolo Exp $

 */



package net.jxta.impl.endpoint.servlethttp;



import java.util.*;

import java.net.*;



/** Simple class that can generate query strings. Not thread safe. **/

public class QueryString {   



    /** the string so far **/

    private String query;

    

    public QueryString() {

	query = "";

    }

    

    /** adds name,value to the current string **/

    public void add(Object name, Object value) {

	

	if (!query.trim().equals(""))

	    query += "&";

	

	query += URLEncoder.encode(name.toString()) + "=" +

	    URLEncoder.encode(value.toString());

    }

 

    /** Returns a HashMap of the String names and values in a querystring. 

	Does not handle names with multiple values well. If there is a name 

	with multiple values, only the last value will be in the map.

     **/

    public static HashMap parse(String queryString) {



	if (queryString==null)

	    return null;

	

	HashMap map = new HashMap();



	if (queryString.trim().equals(""))

	    return map;



	StringTokenizer tok =

	    new StringTokenizer(queryString, "&");

	String nameValuePair, name, value;

	StringTokenizer tempTok;

	int index, numNames=0;

	while(tok.hasMoreTokens()) {

	    nameValuePair = tok.nextToken();

	    tempTok = new StringTokenizer(nameValuePair,

					  "=");

	    name = URLDecoder.decode(tempTok.nextToken());

	    if (tempTok.hasMoreTokens())

		value = URLDecoder.decode(tempTok.nextToken());

	    else

		value = "";

	    

	    map.put (name,value);

	}



	return map;

    }



    public String toString() {

	return query;

    }

}

⌨️ 快捷键说明

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