当前位置: 首页>>代码示例>>Java>>正文


Java ServerCookie类代码示例

本文整理汇总了Java中org.apache.tomcat.util.http.ServerCookie的典型用法代码示例。如果您正苦于以下问题:Java ServerCookie类的具体用法?Java ServerCookie怎么用?Java ServerCookie使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ServerCookie类属于org.apache.tomcat.util.http包,在下文中一共展示了ServerCookie类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generateCookieString

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
public StringBuffer generateCookieString(final Cookie cookie) {
    final StringBuffer sb = new StringBuffer();
    //web application code can receive a IllegalArgumentException
    //from the appendCookieValue invocation
    if (SecurityUtil.isPackageProtectionEnabled()) {
        AccessController.doPrivileged(new PrivilegedAction<Void>() {
            @Override
            public Void run(){
                ServerCookie.appendCookieValue
                    (sb, cookie.getVersion(), cookie.getName(),
                     cookie.getValue(), cookie.getPath(),
                     cookie.getDomain(), cookie.getComment(),
                     cookie.getMaxAge(), cookie.getSecure(),
                     cookie.isHttpOnly());
                return null;
            }
        });
    } else {
        ServerCookie.appendCookieValue
            (sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
                 cookie.getPath(), cookie.getDomain(), cookie.getComment(),
                 cookie.getMaxAge(), cookie.getSecure(),
                 cookie.isHttpOnly());
    }
    return sb;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:27,代码来源:Response.java

示例2: generateCookieString

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
public StringBuffer generateCookieString(final Cookie cookie) {
	final StringBuffer sb = new StringBuffer();
	// web application code can receive a IllegalArgumentException
	// from the appendCookieValue invocation
	if (SecurityUtil.isPackageProtectionEnabled()) {
		AccessController.doPrivileged(new PrivilegedAction<Void>() {
			@Override
			public Void run() {
				ServerCookie.appendCookieValue(sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
						cookie.getPath(), cookie.getDomain(), cookie.getComment(), cookie.getMaxAge(),
						cookie.getSecure(), cookie.isHttpOnly());
				return null;
			}
		});
	} else {
		ServerCookie.appendCookieValue(sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
				cookie.getPath(), cookie.getDomain(), cookie.getComment(), cookie.getMaxAge(), cookie.getSecure(),
				cookie.isHttpOnly());
	}
	return sb;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:22,代码来源:Response.java

示例3: generateCookieString

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
public StringBuffer generateCookieString(final Cookie cookie) {
    final StringBuffer sb = new StringBuffer();
    //web application code can receive a IllegalArgumentException 
    //from the appendCookieValue invocation
    if (SecurityUtil.isPackageProtectionEnabled()) {
        AccessController.doPrivileged(new PrivilegedAction<Void>() {
            @Override
            public Void run(){
                ServerCookie.appendCookieValue
                    (sb, cookie.getVersion(), cookie.getName(), 
                     cookie.getValue(), cookie.getPath(), 
                     cookie.getDomain(), cookie.getComment(), 
                     cookie.getMaxAge(), cookie.getSecure(),
                     cookie.isHttpOnly());
                return null;
            }
        });
    } else {
        ServerCookie.appendCookieValue
            (sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
                 cookie.getPath(), cookie.getDomain(), cookie.getComment(), 
                 cookie.getMaxAge(), cookie.getSecure(),
                 cookie.isHttpOnly());
    }
    return sb;
}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:27,代码来源:Response.java

示例4: addCookieInternal

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Add the specified Cookie to those that will be included with
 * this Response.
 *
 * @param cookie Cookie to be added
 */
public void addCookieInternal(final Cookie cookie) {

    if (isCommitted())
        return;

    final StringBuffer sb = new StringBuffer();
    // web application code can receive a IllegalArgumentException 
    // from the appendCookieValue invocation
    if (SecurityUtil.isPackageProtectionEnabled()) {
        AccessController.doPrivileged(new PrivilegedAction() {
            public Object run(){
                ServerCookie.appendCookieValue
                    (sb, cookie.getVersion(), cookie.getName(), 
                     cookie.getValue(), cookie.getPath(), 
                     cookie.getDomain(), cookie.getComment(), 
                     cookie.getMaxAge(), cookie.getSecure(), false);
                return null;
            }
        });
    } else {
        ServerCookie.appendCookieValue
            (sb, cookie.getVersion(), cookie.getName(), cookie.getValue(),
                 cookie.getPath(), cookie.getDomain(), cookie.getComment(), 
                 cookie.getMaxAge(), cookie.getSecure(), false);
    }
    // if we reached here, no exception, cookie is valid
    // the header name is Set-Cookie for both "old" and v.1 ( RFC2109 )
    // RFC2965 is not supported by browsers and the Servlet spec
    // asks for 2109.
    addHeader("Set-Cookie", sb.toString());

    cookies.add(cookie);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:40,代码来源:Response.java

示例5: parseSessionCookiesId

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse session id in URL.
 */
protected void parseSessionCookiesId(org.apache.coyote.Request req, Request request) {

    // Parse session id from cookies
    Cookies serverCookies = req.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0)
        return;

    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        if (scookie.getName().equals(Globals.SESSION_COOKIE_NAME)) {
            // Override anything requested in the URL
            if (!request.isRequestedSessionIdFromCookie()) {
                // Accept only the first session id cookie
                convertMB(scookie.getValue());
                request.setRequestedSessionId
                    (scookie.getValue().toString());
                request.setRequestedSessionCookie(true);
                request.setRequestedSessionURL(false);
                if (log.isDebugEnabled())
                    log.debug(" Requested cookie session id is " +
                        request.getRequestedSessionId());
            } else {
                if (!request.isRequestedSessionIdValid()) {
                    // Replace the session id until one is valid
                    convertMB(scookie.getValue());
                    request.setRequestedSessionId
                        (scookie.getValue().toString());
                }
            }
        }
    }

}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:38,代码来源:CoyoteAdapter.java

示例6: parseCookies

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse cookies.
 */
protected void parseCookies() {

    cookiesParsed = true;

    Cookies serverCookies = coyoteRequest.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0) {
        return;
    }

    cookies = new Cookie[count];

    int idx=0;
    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        try {
            /*
            we must unescape the '\\' escape character
            */
            Cookie cookie = new Cookie(scookie.getName().toString(),null);
            int version = scookie.getVersion();
            cookie.setVersion(version);
            cookie.setValue(unescape(scookie.getValue().toString()));
            cookie.setPath(unescape(scookie.getPath().toString()));
            String domain = scookie.getDomain().toString();
            if (domain!=null)
             {
                cookie.setDomain(unescape(domain));//avoid NPE
            }
            String comment = scookie.getComment().toString();
            cookie.setComment(version==1?unescape(comment):null);
            cookies[idx++] = cookie;
        } catch(IllegalArgumentException e) {
            // Ignore bad cookie
        }
    }
    if( idx < count ) {
        Cookie [] ncookies = new Cookie[idx];
        System.arraycopy(cookies, 0, ncookies, 0, idx);
        cookies = ncookies;
    }

}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:47,代码来源:Request.java

示例7: parseCookies

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse cookies.
 */
protected void parseCookies() {

    cookiesParsed = true;

    Cookies serverCookies = coyoteRequest.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0)
        return;

    cookies = new Cookie[count];

    int idx=0;
    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        try {
            /*
            we must unescape the '\\' escape character
            */
            Cookie cookie = new Cookie(scookie.getName().toString(),null);
            int version = scookie.getVersion();
            cookie.setVersion(version);
            cookie.setValue(unescape(scookie.getValue().toString()));
            cookie.setPath(unescape(scookie.getPath().toString()));
            String domain = scookie.getDomain().toString();
            if (domain!=null) cookie.setDomain(unescape(domain));//avoid NPE
            String comment = scookie.getComment().toString();
            cookie.setComment(version==1?unescape(comment):null);
            cookies[idx++] = cookie;
        } catch(IllegalArgumentException e) {
            // Ignore bad cookie
        }
    }
    if( idx < count ) {
        Cookie [] ncookies = new Cookie[idx];
        System.arraycopy(cookies, 0, ncookies, 0, idx);
        cookies = ncookies;
    }

}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:43,代码来源:Request.java

示例8: parseSessionCookiesId

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse session id in URL.
 */
protected void parseSessionCookiesId(org.apache.coyote.Request req, Request request) {

    // If session tracking via cookies has been disabled for the current
    // context, don't go looking for a session ID in a cookie as a cookie
    // from a parent context with a session ID may be present which would
    // overwrite the valid session ID encoded in the URL
    Context context = (Context) request.getMappingData().context;
    if (context != null && !context.getServletContext()
            .getEffectiveSessionTrackingModes().contains(
                    SessionTrackingMode.COOKIE)) {
        return;
    }

    // Parse session id from cookies
    Cookies serverCookies = req.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0) {
        return;
    }

    String sessionCookieName = SessionConfig.getSessionCookieName(context);

    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        if (scookie.getName().equals(sessionCookieName)) {
            // Override anything requested in the URL
            if (!request.isRequestedSessionIdFromCookie()) {
                // Accept only the first session id cookie
                convertMB(scookie.getValue());
                request.setRequestedSessionId
                    (scookie.getValue().toString());
                request.setRequestedSessionCookie(true);
                request.setRequestedSessionURL(false);
                if (log.isDebugEnabled()) {
                    log.debug(" Requested cookie session id is " +
                        request.getRequestedSessionId());
                }
            } else {
                if (!request.isRequestedSessionIdValid()) {
                    // Replace the session id until one is valid
                    convertMB(scookie.getValue());
                    request.setRequestedSessionId
                        (scookie.getValue().toString());
                }
            }
        }
    }

}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:53,代码来源:CoyoteAdapter.java

示例9: parseCookies

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse cookies.
 */
protected void parseCookies() {

    cookiesParsed = true;

    Cookies serverCookies = coyoteRequest.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0)
        return;

    cookies = new Cookie[count];

    int idx=0;
    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        try {
            /*
            we must unescape the '\\' escape character
            */
            Cookie cookie = new Cookie(scookie.getName().toString(),null);
            int version = scookie.getVersion();
            cookie.setVersion(version);
            cookie.setValue(unescape(scookie.getValue().toString()));
            cookie.setPath(unescape(scookie.getPath().toString()));
            String domain = scookie.getDomain().toString();
            if (domain!=null) 
                cookie.setDomain(unescape(domain));//avoid NPE
            String comment = scookie.getComment().toString();
            cookie.setComment(version==1?unescape(comment):null);
            cookies[idx++] = cookie;
        } catch(IllegalArgumentException e) {
            // Ignore bad cookie
        }
    }
    if( idx < count ) {
        Cookie [] ncookies = new Cookie[idx];
        System.arraycopy(cookies, 0, ncookies, 0, idx);
        cookies = ncookies;
    }

}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:44,代码来源:Request.java

示例10: parseSessionCookiesId

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse session id in URL.
 */
protected void parseSessionCookiesId(org.apache.coyote.Request req, Request request) {

	// If session tracking via cookies has been disabled for the current
	// context, don't go looking for a session ID in a cookie as a cookie
	// from a parent context with a session ID may be present which would
	// overwrite the valid session ID encoded in the URL
	Context context = (Context) request.getMappingData().context;
	if (context != null && !context.getServletContext().getEffectiveSessionTrackingModes()
			.contains(SessionTrackingMode.COOKIE)) {
		return;
	}

	// Parse session id from cookies
	Cookies serverCookies = req.getCookies();
	int count = serverCookies.getCookieCount();
	if (count <= 0) {
		return;
	}

	String sessionCookieName = SessionConfig.getSessionCookieName(context);

	for (int i = 0; i < count; i++) {
		ServerCookie scookie = serverCookies.getCookie(i);
		if (scookie.getName().equals(sessionCookieName)) {
			// Override anything requested in the URL
			if (!request.isRequestedSessionIdFromCookie()) {
				// Accept only the first session id cookie
				convertMB(scookie.getValue());
				request.setRequestedSessionId(scookie.getValue().toString());
				request.setRequestedSessionCookie(true);
				request.setRequestedSessionURL(false);
				if (log.isDebugEnabled()) {
					log.debug(" Requested cookie session id is " + request.getRequestedSessionId());
				}
			} else {
				if (!request.isRequestedSessionIdValid()) {
					// Replace the session id until one is valid
					convertMB(scookie.getValue());
					request.setRequestedSessionId(scookie.getValue().toString());
				}
			}
		}
	}

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:49,代码来源:CoyoteAdapter.java

示例11: parseCookies

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse cookies.
 */
protected void parseCookies() {

	cookiesParsed = true;

	Cookies serverCookies = coyoteRequest.getCookies();
	int count = serverCookies.getCookieCount();
	if (count <= 0) {
		return;
	}

	cookies = new Cookie[count];

	int idx = 0;
	for (int i = 0; i < count; i++) {
		ServerCookie scookie = serverCookies.getCookie(i);
		try {
			/*
			 * we must unescape the '\\' escape character
			 */
			Cookie cookie = new Cookie(scookie.getName().toString(), null);
			int version = scookie.getVersion();
			cookie.setVersion(version);
			cookie.setValue(unescape(scookie.getValue().toString()));
			cookie.setPath(unescape(scookie.getPath().toString()));
			String domain = scookie.getDomain().toString();
			if (domain != null) {
				cookie.setDomain(unescape(domain));// avoid NPE
			}
			String comment = scookie.getComment().toString();
			cookie.setComment(version == 1 ? unescape(comment) : null);
			cookies[idx++] = cookie;
		} catch (IllegalArgumentException e) {
			// Ignore bad cookie
		}
	}
	if (idx < count) {
		Cookie[] ncookies = new Cookie[idx];
		System.arraycopy(cookies, 0, ncookies, 0, idx);
		cookies = ncookies;
	}

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:46,代码来源:Request.java

示例12: replaceCookie

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
protected void replaceCookie(Request request, Response response, Cookie cookie) {

        // copy the existing session cookie, but use a different domain (only if domain is valid)
        String cookieDomain = null;
        cookieDomain = UtilProperties.getPropertyValue("url", "cookie.domain", "");

        if (UtilValidate.isEmpty(cookieDomain)) {
            String serverName = request.getServerName();
            String[] domainArray = serverName.split("\\.");
            // check that the domain isn't an IP address
            if (domainArray.length == 4) {
                boolean isIpAddress = true;
                for (String domainSection : domainArray) {
                    if (!UtilValidate.isIntegerInRange(domainSection, 0, 255)) {
                        isIpAddress = false;
                        break;
                    }
                }
                if (isIpAddress) return;
            }
            if (domainArray.length > 2) {
                cookieDomain = "." + domainArray[domainArray.length - 2] + "." + domainArray[domainArray.length - 1];
            }
        }


        if (UtilValidate.isNotEmpty(cookieDomain)) {
            Cookie newCookie = new Cookie(cookie.getName(), cookie.getValue());
            if (cookie.getPath() != null) {
                newCookie.setPath(cookie.getPath());
            }
            newCookie.setDomain(cookieDomain);
            newCookie.setMaxAge(cookie.getMaxAge());
            newCookie.setVersion(cookie.getVersion());
            if (cookie.getComment() != null) {
                newCookie.setComment(cookie.getComment());
            }
            newCookie.setSecure(cookie.getSecure());

            // if the response has already been committed, our replacement strategy will have no effect
            if (response.isCommitted()) {
                Debug.logError("CrossSubdomainSessionValve: response was already committed!", module);
            }

            // find the Set-Cookie header for the existing cookie and replace its value with new cookie
            MimeHeaders mimeHeaders = request.getCoyoteRequest().getMimeHeaders();
            for (int i = 0, size = mimeHeaders.size(); i < size; i++) {
                if (mimeHeaders.getName(i).equals("Set-Cookie")) {
                    MessageBytes value = mimeHeaders.getValue(i);
                    if (value.indexOf(cookie.getName()) >= 0) {
                        StringBuffer buffer = new StringBuffer();
                        ServerCookie.appendCookieValue(buffer, newCookie.getVersion(), newCookie.getName(), newCookie.getValue(), newCookie.getPath(),
                                newCookie.getDomain(), newCookie.getComment(), newCookie.getMaxAge(), newCookie.getSecure(), true);
                        Debug.logVerbose("CrossSubdomainSessionValve: old Set-Cookie value: " + value.toString(), module);
                        Debug.logVerbose("CrossSubdomainSessionValve: new Set-Cookie value: " + buffer, module);
                        value.setString(buffer.toString());
                    }
                }
            }
        }
    }
 
开发者ID:gildaslemoal,项目名称:elpi,代码行数:62,代码来源:CrossSubdomainSessionValve.java

示例13: parseSessionCookiesId

import org.apache.tomcat.util.http.ServerCookie; //导入依赖的package包/类
/**
 * Parse session id in URL.
 */
protected void parseSessionCookiesId(org.apache.coyote.Request req, Request request) {

    // If session tracking via cookies has been disabled for the current
    // context, don't go looking for a session ID in a cookie as a cookie
    // from a parent context with a session ID may be present which would
    // overwrite the valid session ID encoded in the URL
    Context context = (Context) request.getMappingData().context;
    if (context != null && !context.getServletContext()
            .getEffectiveSessionTrackingModes().contains(
                    SessionTrackingMode.COOKIE))
        return;
    
    // Parse session id from cookies
    Cookies serverCookies = req.getCookies();
    int count = serverCookies.getCookieCount();
    if (count <= 0)
        return;

    String sessionCookieName =
        ApplicationSessionCookieConfig.getSessionCookieName(context);

    for (int i = 0; i < count; i++) {
        ServerCookie scookie = serverCookies.getCookie(i);
        if (scookie.getName().equals(sessionCookieName)) {
            // Override anything requested in the URL
            if (!request.isRequestedSessionIdFromCookie()) {
                // Accept only the first session id cookie
                convertMB(scookie.getValue());
                request.setRequestedSessionId
                    (scookie.getValue().toString());
                request.setRequestedSessionCookie(true);
                request.setRequestedSessionURL(false);
                if (log.isDebugEnabled())
                    log.debug(" Requested cookie session id is " +
                        request.getRequestedSessionId());
            } else {
                if (!request.isRequestedSessionIdValid()) {
                    // Replace the session id until one is valid
                    convertMB(scookie.getValue());
                    request.setRequestedSessionId
                        (scookie.getValue().toString());
                }
            }
        }
    }

}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:51,代码来源:CoyoteAdapter.java


注:本文中的org.apache.tomcat.util.http.ServerCookie类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。