관리 메뉴

IT.FARMER

ASP 2차원 배열 Cookie java conversion 본문

카테고리 없음

ASP 2차원 배열 Cookie java conversion

아이티.파머 2012. 4. 2. 08:56
반응형

ASP 2차원 배열  Cookie


1. ..
/** Query String을 Parsing하여 Map으로 리턴한다. */
public static Map parseQueryString(String queryString) {
if (queryString == null)
return null;

Map map = new HashMap();
String[] params = queryString.split("[&]");
String[] param = null;
for (int i = params.length - 1; i >= 0; i--) {
param = params[i].split("[=]");
if (param.length == 2)
map.put(param[0], param[1]);
}

return map;
}

/** Map을 Query String으로 변환한다. */
public static String makeQueryString(Map data) {
if (data == null)
return null;

String[] keys = (String[]) data.keySet().toArray(new String[0]);
int keyCount = keys.length;

StringBuffer queryString = new StringBuffer();
for (int i = 0; i < keyCount; i++) {
queryString.append(keys[i]).append("=").append(data.get(keys[i]));
if (i != keyCount - 1)
queryString.append("&");
}

return queryString.toString();
}

/** 쿠키 값을 얻는다. */
public static String getCookie(HttpServletRequest request, String name, String key) {
   String value = getCookie(request, name, key); // 쿠키값을 얻는다.

   Map data = parseQueryString(value);
   return (String) data.get(key);
}


2. ...

@SuppressWarnings("rawtypes")

Enumeration en = request.getHeaderNames();

while (en.hasMoreElements()) {

String name = (String) en.nextElement();

String value = request.getHeader(name);

// System.out.println( name + ":" + value +"<br>");


if (name.equals("cookie")) {

String cookieArr[] = value.split(";");

for (int i = 0; i < cookieArr.length; i++) {

String cookieStr = cookieArr[i];


if (cookieStr.trim().toUpperCase().startsWith("ISCREAM")) {


// System.out.println("cookieStr" +URLDecoder.decode(cookieStr, "UTF-8"));

String realCookie[] = URLDecoder.decode(cookieStr, "euc-kr").split("&");


for (int j = 0; j < realCookie.length; j++) {

String realArr[] = realCookie[j].split("=");


StringBuffer sbCookieStr = new StringBuffer();

String cookieParamName = "";

String cookieParamValue = "";

for (int k = 0; k < realArr.length; k++) {

if (k % 2 == 0) {

cookieParamName = realArr[k];

} else {

cookieParamValue = realArr[k];

cookieHt.remove(cookieParamValue);

cookieHt.put(cookieParamName , cookieParamValue);

log.info("namesb :: " + sbCookieStr.toString());

}

}

}

}

}

}


반응형