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

📄 cookiebean.java

📁 《jsp网站开发技术》中的源代码(清华大学出版社)
💻 JAVA
字号:
/*
*CookieBean.java
*/
package com.javacat.jsp.beans;

import java.beans.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CookieBean {//extends HttpServlet

//fields
private HttpServletRequest request;
private HttpServletResponse response;
private Cookie[] cookies;
//构造函数
public CookieBean(){
}
/**
*set the request to this bean,which contains cookies
*@param req the HttpServletRequest contains cookies
*/
public void setRequest(HttpServletRequest req)
{
	this.request=req;
	cookies=req.getCookies();
}
/**
 *set response to this bean
 *@param resp the HttpServletResponse to be set 
 */
public void setResponse(HttpServletResponse resp)
{
	this.response=resp;
}
/**
 *get the cookie with the specified name
 *@param name the cookie name with whilch you want to get
 *@return the cookie which has the specified name or null
 *	if the request hasn't contains a cookie with this specified name
 */
public Cookie getCookie(String name)
{
	Cookie rec=null;
	if(cookies!=null){
		for(int i=0;i<cookies.length;i++){
			rec=cookies[i];
			if(rec.getName().equals(name))
			return rec;
		}
	}
	return null;
}

/**
*Add a new cookie to Response with specified name and value.
*@param resp HttpServletResponse cookie is added to.
*@param cookieName Name of new cookie.
*@param cookieValue Value of new cookie.
*/
public void addCookie(HttpServletResponse resp,String cookieName,String cookieValue)
{
	Cookie c=new Cookie(cookieName,cookieValue);
	resp.addCookie(c);
}
/**
 *add a new cookie to  default response
 *@see #addCookie
 */
public void addCookie(String cookieName,String cookieValue)
{
	if(response!=null)
		response.addCookie(new Cookie(cookieName,cookieValue));
}
/**
*Set  property cookie MaxAge.
*@param req HttpServletRequest for retrieving cookie array.
*@param respHttpServletResponse for writing updated cookie.
*@param cookieName Name of cookie to update.
*@param cookieExpiresp New value of property cookie MaxAge.
*/
public void setCookieMaxAge(HttpServletRequest req,HttpServletResponse resp,
   String cookieName,int cookieExpiresp){
	Cookie c[]=req.getCookies();
	if(c!=null){
		for(int i=0;i<c.length;i++){
		if(c[i].getName().equals(cookieName)){
			c[i].setMaxAge(cookieExpiresp);
			resp.addCookie(c[i]);
		}
		}
	}
}
/**
*set timeoff property to the cookie with the default values
*@see #setCookieMaxAge
*/
public void setCookieMaxAge(String CookieName,int cookieExpiresp)
{
	if(cookies!=null&&getCookie(CookieName)!=null){
		Cookie c=getCookie(CookieName);
		c.setMaxAge(cookieExpiresp);
		response.addCookie(c);
	}	
}

/**
*Get property Cookie MaxAge.
*@param req HttpServletRequest for retrieving cookie array.
*@param cookieName Name of specific cookie to be examined.
*@return Value of property cookie MaxAge.
*/
public int getCookieMaxAge(HttpServletRequest req,String cookieName){
	Cookie c[]=req.getCookies();
	if(c!=null){
		for(int i=0;i<c.length;i++)
		{
		if(c[i].getName().equals(cookieName)){
			return c[i].getMaxAge();
		}
		}
	}
	return -1;
}
/**
 *get the property Cookie MaxAge with the default values
 *@see #getCookieMaxAge
 */
public int getCookieMaxAge(String cookieName)
{
	if(cookies!=null&&getCookie(cookieName)!=null){
		return getCookie(cookieName).getMaxAge();
	}
	else return -1;
}

/**
*Get property cookieValue.
*@param req HttpServletRequest for retrieving cookie array.
*@param cookieName Name of specific cookie to beexamined.
*@return Value of property cookieValue.
*/
public String getCookieValue(HttpServletRequest req,String cookieName)
{
	Cookie c[]=req.getCookies();
	if(c!=null){
		for(int i=0;i<c.length;i++)
		{
		if(c[i].getName().equals(cookieName))
		{
			return c[i].getValue();
		}
		}
	}
	return "";
}
/**
 *get cookie value of this sepecified name with default values
 *@see getCookieValue
 */
public String getCookieValue(String name)
{
	if(cookies!=null&&getCookie(name)!=null)
	return getCookie(name).getValue();
	else return "";
}

/**
*Set property cookieValue.
*@param req HttpServletRequest for retrieving cookie array.
*@param resp HttpServletResponse for writing updated cookie.
*@param cookieName Specific cookie to be updated.
*@param cookieValue New value of property cookieValue.
*/
public void setCookieValue(HttpServletRequest req,HttpServletResponse resp,
      String cookieName,String cookieValue)
{
	Cookie c[]=req.getCookies();
	if(c!=null){
		for(int i=0;i<c.length;i++){
		if(c[i].getName().equals(cookieName))
		{
			c[i].setValue(cookieValue);
			resp.addCookie(c[i]);
		}
		}
	}
}
/**
 *set cookievalue to the specified cookie with default values
 *@see #setCookieValue
 */
public void setCookieValue(String name,String value)
{
	if(cookies!=null&&getCookie(name)!=null)
	{
		Cookie c=getCookie(name);
		c.setValue(value);
		response.addCookie(c);
	}
}

}//~~~~~~~~~~~class CookieBean~~~~~~~~~~~~

⌨️ 快捷键说明

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