导航:首页 > 编程语言 > java的cookie使用

java的cookie使用

发布时间:2022-08-31 15:30:13

java操作cookie问题

建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下

HttpServletRequest request
HttpServletResponse response
Cookie cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);

下面建立一个有生命周期的cookie,可以设置他的生命周期

cookie = new Cookie("cookiename","cookievalue");

cookie.setMaxAge(3600);

//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问

cookie.setPath("/");
response.addCookie(cookie);

下面介绍如何读取cookie,读取cookie代码如下

Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组
for(Cookie cookie : cookies){
cookie.getName();// get the cookie name
cookie.getValue(); // get the cookie value
}

上面就是基本的读写cookie的操作。我们在实际中最好进行一下封装,比如增加一个cookie,我们关注的是cookie的name,value,生命周期,所以进行封装一个函数,当然还要传入一个response对象,addCookie()代码如下

/**
* 设置cookie
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
*/
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
Cookie cookie = new Cookie(name,value);
cookie.setPath("/");
if(maxAge>0) cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}

读取cookie的时候,为了方便我们的操作,我们希望封装一个函数,只要我们提供cookie的name,我们便可以获取cookie的value,带着这个想法,很容易想到将cookie封装到Map里面,于是进行下面的封装

/**
* 根据名字获取cookie
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if(cookieMap.containsKey(name)){
Cookie cookie = (Cookie)cookieMap.get(name);
return cookie;
}else{
return null;
}
}

/**
* 将cookie封装到Map里面
* @param request
* @return
*/
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}

Ⅱ java中COOKIE的使用(代码)求详细代码。

package web;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SaveCookie extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String str = "张三";
String str2 = URLEncoder.encode(str,"utf-8");
Cookie cookie = new Cookie("username",str2);//设置名字
cookie.setMaxAge(36);//设置生存时间
Cookie cookie2 = new Cookie("address","znh");
response.addCookie(cookie);
response.addCookie(cookie2);
}

}

Ⅲ 请问java后端通常如何处理cookie

亲,Cookie可以将用户信息及一些其他信息保存到本地(例如浏览器),能够保证与session的跟踪对接以及辨别用户身份。

  • 亲如果学ava后端通常如何处理cookie的话可以到云南新华电脑学院来看看,希望可以帮到亲

    Ⅳ 在java中,cookie是用来做什么的都什么时候用

    这是在浏览器端存储数据用的。一般至少会自动保存一个sessionId,用来保存和服务器的通讯一致性。另外,你可以存储自定义的数据,如用户名、密码之类的

    Ⅳ java 怎么使用cookie来登录

    <%//从提交的HTML表单中获取,用户名String userName=request.getParameter("username"); //以"username",userName值/对创建一个Cookie Cookie theUsername=new Cookie("username",userName); response.addCookie(theUsername); %> .............. <%Cookie myCookie[]=request.getCookies();//创建一个Cookie对象数组for(int n=0;n=cookie.length-1;i++);//设立一个循环,来访问Cookie对象数组的每一个元素Cookie newCookie= myCookie[n]; if(newCookie.getName().equals("username")); //判断元素的值是否为username中的值{%> 你好,<%=newCookie.getValue()%>!//如果找到后,向他问好<%} %>

    Ⅵ Java中的Cookie的意思和用途是什么

    cookie就是把一些信息存放到浏览器能够读取的到的地方,一般为ie的临时目录

    可以通过js或者java来读取自己域内的cookie信息

    存放在cookie的好处是前后台都可以读取,速度相对比较快

    用途:一些不常改变的信息,可以保存在cookie里,这样就可以减少读取数据库,降低数据库的压力

    Ⅶ 怎么在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();

    }

    Ⅷ java中cookie有什么作用。如何读写

    //写cookie
    Cookie namecookie = new Cookie("name",name);
    Cookie passwordcookie = new Cookie("password",password);
    Cookie optioncookie = new Cookie("option","1");

    //生命周期
    namecookie.setMaxAge(60*60*24*365);
    passwordcookie.setMaxAge(60*60*24*365);
    optioncookie.setMaxAge(60*60*24*365);

    response.addCookie(namecookie);
    response.addCookie(passwordcookie);
    response.addCookie(optioncookie);

    //读cookie
    Cookie[] cookies = request.getCookies();
    if(cookies!=null)
    {
    String name = "";
    String password = "";
    String option = "";
    for (int i = 0; i < cookies.length; i++)
    {
    Cookie c = cookies[i];
    if(c.getName().equalsIgnoreCase("name"))
    {
    name = c.getValue();
    }
    else if(c.getName().equalsIgnoreCase("password"))
    {
    password = c.getValue();
    }
    else if(c.getName().equalsIgnoreCase("option"))
    {
    option = c.getValue();
    }
    }
    } setMaxAge(参数):参数为负数代表关闭浏览器时清除cookie,参数为0时代表删除cookie,参数为正数时代表cookie存在多少秒。HttpServletResponse.addCookie(参数1,参数2):将创建好的cookie写入用户计算机。参数1代表cookie的名子,参数2代表cookie的值。通过HttpServletRequest.getCookies()方法可以从相应用户读取cookie列表,放在cookie类型的数组中,通过数组中各个cookie的getName()和getValue()方法可以获取各个cookie的名称和值。

    Ⅸ 怎么用java获取cookie

    ookie实际上是一个存在你硬盘里的数据,但是这些数据很特殊,只能由web应用提交给浏览器帮助存储,并且我们还能读取浏览器存在本地的cookie
    web应用一般只在cookie中存储一些用户信息等少量且暂时的数据,数据量大则不适合存储在cookies
    ava通过httpServletRequest接口来访问浏览器请求中的cookies数据(这里先了解一下cookies来龙去脉,代码待会一并给出)
    每个cookie有两个属性:键 ,值(无特定格式字符串,所以可以diy存数据,不过要注意URL编码问题,编码问题待会和代码一同讲)
    如果我们需要存储新的cookie我们可以new一个cookie实例 并通过httpservletRsponse提交到浏览器,进而存储到本地

    Ⅹ Java中的Cookie的意思、用途!

    cookie首先并不是java的概念,是web编程里一种客户端存储数据的方式(通常是加密过的)。

    有些数据,不是特别重要,但用户又经常要用到的,比如:网站用户的登录信息、历史查看记录等等,这些数据保存在服务器上会让服务器承担很大的压力,因此变产生了cookie这样一种客户端数据存储的方式。意思就是说把你个人的一些数据保存在本地,这样服务器减少了压力,并且下次你访问网站的时候,服务器会主动去你的机器上读取这些数据并展现出来。

    比较常见的例子,有些网站登录的时候会有一个“记住登录状态”的选择,选了以后用户以后再来这个网站会发现不用再登录了,比如网络知道、猫扑等等;再比如最近优酷、腾讯视频上的的历史观看记录,不用登录,就可以记录你的机器上次看了哪些视频,看到多少分多少秒了,下次来直接点就能接着看,特别实用~~~~ PS.我最近一直在用,哈哈

    cookie虽然有诸多好处,但使用的过程中还是需要注意风险,因为客户端的不确定性,对安全和隐私要求较高的数据建议还是不要放在cookie里存储,比如网络游戏账号密码信息、电子银行账户信息等等。

    最后再说一个实例,当你清除浏览器缓存的时候,一般会有选择是否清除cookie,或者360安全卫士帮助你清除上网痕迹的时候,都会把本地cookie清除掉,这时候你会发现,你很长时间都不用登录的网站,比如网络知道、猫扑(原谅我经常上的网站就这俩,没别的例子可举- -!......),现在都需要重新登录了,原因就是cookie被清除掉了

    一字一句全是手打,望楼主采纳~~

    阅读全文

    与java的cookie使用相关的资料

    热点内容
    进化算法和启发式算法的区别 浏览:602
    android组件是什么 浏览:973
    安卓手机微信怎么同步信息 浏览:181
    小人pdf 浏览:806
    我的世界服务器怎么造好看的建筑 浏览:307
    兄弟连培训php多少钱 浏览:249
    1523铺地面的算法 浏览:746
    linux源码安装php环境 浏览:821
    ping命令用法 浏览:717
    日本海军pdf 浏览:469
    哪个app有大脸特效 浏览:140
    自己生活需要解压吗 浏览:946
    考研究生算法 浏览:528
    java撤销 浏览:442
    学完单片机做点什么好 浏览:312
    编译后运行不了 浏览:404
    安卓如何设置手机键盘大小 浏览:847
    室内程序员表白方式 浏览:694
    全民去哪里找app 浏览:124
    表格命令CAD 浏览:244