A. java 刪除客戶端cookie
程序運行結束後伺服器會告訴瀏覽器,"你的COOKIE失效了!"
所以
按你那程序客戶端的關於本站的cookie就都終結了!
B. 如何通過java清除cookie
方法如下
public void insertCookie(HttpServletRequest request,
HttpServletResponse response, Long appId) {
if (appId == null) {
appId = (long) -1;
}
this.cleanCookie(request, response, appId);
Cookie cookie = new Cookie("appId", "" + appId);
cookie.setPath("/");
response.addCookie(cookie);
}
public void cleanCookie(HttpServletRequest request,
HttpServletResponse response, long appId) {
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().contains("" + appId)) {
String cookieName = cookie.getName();
Cookie newCookie = new Cookie(cookieName, null);
newCookie.setPath("/");
response.addCookie(newCookie);
}
}
}
C. 怎麼用java獲取cookie
ookie實際抄上是一個存在你硬碟里的數據,但是這些數據很特殊,只能由web應用提交給瀏覽器幫助存儲,並且我們還能讀取瀏覽器存在本地的cookie
web應用一般只在cookie中存儲一些用戶信息等少量且暫時的數據,數據量大則不適合存儲在cookies
ava通過httpServletRequest介面來訪問瀏覽器請求中的cookies數據(這里先了解一下cookies來龍去脈,代碼待會一並給出)
每個cookie有兩個屬性:鍵 ,值(無特定格式字元串,所以可以diy存數據,不過要注意URL編碼問題,編碼問題待會和代碼一同講)
如果我們需要存儲新的cookie我們可以new一個cookie實例 並通過httpservletRsponse提交到瀏覽器,進而存儲到本地
D. java 刪除cookie的問題
Cookie cookie = new Cookie(Cookiename, null);
cookie.setMaxAge(-1);
response.addCookie(cookie);
setMaxAge方法設置cookie經過多長秒後被刪除。如果參數是0,就說明立即回刪除。如果是負數就表明當瀏答覽器關閉時自動刪除。
如果沒有設定cookie的age可以用getMaxAge方法來查看cookie的默認存活時間。
E. java中cookie的元素無論如何也刪不掉!跪求解答!
你可以這樣刪除Cookie
public boolean deleteCookie(String cookieName) {
if (cookieName != null) {
Cookie cookie = getCookie(cookieName);//getCookie()方法在下面
if (cookie != null) {
cookie.setMaxAge(0);// 如果0,就說明立即刪除
cookie.setPath("/");// 不要漏掉
response.addCookie(cookie);
return true;
}
}
return false;
}
public Cookie getCookie(String cookieName) {
Cookie[] cookies = request.getCookies();
Cookie cookie = null;
try {
if (cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
cookie = cookies[i];
if (cookie.getName().equals(cookieName)) {
return cookie;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
希望對你有所幫助!
F. 怎麼在java中使用cookie
1、Cookie的來歷與作用
Cookie是WEB伺服器通過瀏覽器保存在WWW用戶端硬碟上的一個文本文件,這個文本文件中包含了文本信息。
文本信息的內容以「名/值」對(key/value)的形式進行存儲。
可以讓WEB開發者通過程序讀寫這個文本文件。
XP中保存Cookie的目錄是「C://Documents and Settings用戶名Cookies」
Cookie的作用
解決瀏覽器用戶與Web伺服器之間無狀態通信。
2Cookie編程
//創建對象
Date date = new Date() ;
Cookie c = new Cookie("lastVisited",date.toString()) ;
//設定有效時間 以s為單位
c.setMaxAge(60) ;
//設置Cookie路徑和域名
c.setPath("/") ;
c.setDomain(".zl.org") ; //域名要以「.」開頭
//發送Cookie文件
response.addCookie(c) ;
//讀取Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c1 = null ;
if(cookies != null){
for(int i=0;i
c1 = cookies[i] ;
out.println("cookie name : " + c1.getName() + " ") ;
out.println("cookie value :" + c1.getValue() + "
");
}
}
//修改Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
for(int i=0;i
c = cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setValue("2010-04-3-28") ;
c.setMaxAge(60*60*12) ;
response.addCookie(c) ; //修改後,要更新到瀏覽器中
}
}
//刪除Cookie,(將Cookie的有效時間設為0)
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
for(int i=0;i
c = cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setMaxAge(0);
response.addCookie(c) ;
}
}
4、使用Cookie的注意事項
·Cookie的大小和數量是有限制的。
·Cookie在個人硬碟上所保存的文本信息是以明文格式進行保存的,沒有任何的加密措施。
·瀏覽器用戶可以設定不使用Cookie。
5、實例:Servlet中的Cookie編程
cookieInput.html頁面
SetCookie.java
GetCookie.java
cookieInput.html頁面中的參數提交到SetCookie.java中,由SetCookie.java保存在瀏覽器的Cookie中,在SerCookie.java中鏈接到GetCookie.java從而讀取剛剛保存的Cookie。
SetCookie.java :
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username") ;
//保存Cookie
if(username !=""){
Cookie c1 = new Cookie("username",username) ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
Cookie c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;
c1.setMaxAge(60*60*60*12*30) ;
c2.setMaxAge(60*60*60*12*30) ;
response.addCookie(c1) ;
response.addCookie(c2) ;
out.println("Cookie保存成功!");
out.println("
") ;
out.println("讀取Cookie") ;
}else{
response.sendRedirect("../cookieInput.html") ;
}
out.flush();
out.close();
}
GetCookie.java:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("
");
out.println("");
out.println("
");
out.println("
");
//讀取Cookie
Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
if(cookies != null){
for(int i=0;i
c = cookies[i] ;
if(c.getName().equals("username")){
out.println("用戶名: "+c.getValue());
out.println("
");
}
if(c.getName().equals("lastVisited")){
out.println("上次登錄的時間: "+c.getValue());
}
}
}else{
out.println("No cookie !");
}
out.println("
");
out.println("
");
out.flush();
out.close();
}
G. java中如何獲取cookie
1.設置cookie到客戶端
Cookie c1 = new Cookie("username","hzh");
response.addCookie(c1);
Cookie c2 = new Cookie("password","123");
//設置生命周期為1小時,秒為單位
c2.setMaxAge(3600);
response.addCookie(c2);
response.getWriter().print("ok");
查看此時的cookie文件,發現只寫入了password,因為此時未給 username設置生命周期,它還在客戶端的內存中,並為寫到文件中(此時客戶端關閉此瀏覽器窗口,就丟失了),想寫到客戶端,需要加入c1.setMaxAge(3600)在 response.addCookie(c1);之前
以下是寫入我電腦中的cookie
2.讀取cookie文件
Cookie[] cookies = request.getCookies();
for(Cookie c :cookies ){
System.out.println(c.getName()+"--->"+c.getValue());
}
控制台輸出結果如下:
username--->hzh
password--->123
JSESSIONID--->
注意:
1.伺服器可以向客戶端寫內容, 只能是文本內容
2.客戶端可以阻止伺服器寫入,禁用cookies
3.只能讀取自己webapp寫入的東西
H. java中無法刪除cookie中的元素!求指導!
你可以這樣刪除
public boolean deleteCookie(String cookieName) {
if (cookieName != null) {
Cookie cookie = getCookie(cookieName);//getCookie()方法在下面
if (cookie != null) {
cookie.setMaxAge(0);// 如果0,就說明立即刪除
cookie.setPath("/");// 不要漏掉
response.addCookie(cookie);
return true;
}
}
return false;
}
public Cookie getCookie(String cookieName) {
Cookie[] cookies = request.getCookies();
Cookie cookie = null;
try {
if (cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
cookie = cookies[i];
if (cookie.getName().equals(cookieName)) {
return cookie;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
希望對你有所幫助!