`

Cookie Test

阅读更多

简单实例:

Code:
  1. packagecom.nothing2012.servlet.cookie;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjavax.servlet.RequestDispatcher;
  5. importjavax.servlet.ServletException;
  6. importjavax.servlet.http.Cookie;
  7. importjavax.servlet.http.HttpServlet;
  8. importjavax.servlet.http.HttpServletRequest;
  9. importjavax.servlet.http.HttpServletResponse;
  10. /**
  11. *ServletimplementationclassSaveCookie
  12. */
  13. publicclassSaveCookieextendsHttpServlet{
  14. privatestaticfinallongserialVersionUID=1L;
  15. /**
  16. *@seeHttpServlet#HttpServlet()
  17. */
  18. publicSaveCookie(){
  19. super();
  20. //TODOAuto-generatedconstructorstub
  21. }
  22. /**
  23. *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse)
  24. */
  25. protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
  26. //TODOAuto-generatedmethodstub
  27. doPost(request,response);
  28. }
  29. /**
  30. *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponseresponse)
  31. */
  32. @SuppressWarnings("unused")
  33. protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
  34. //TODOAuto-generatedmethodstub
  35. response.setContentType("text/html;charset=UTF-8");
  36. PrintWriterout=response.getWriter();
  37. CookietempCookie=newCookie("temp","87654321");
  38. tempCookie.setMaxAge(-1);
  39. response.addCookie(tempCookie);
  40. Cookiecookie=newCookie("cookie","666");
  41. cookie.setMaxAge(0);
  42. response.addCookie(cookie);
  43. Stringuser=request.getParameter("user");
  44. if(user!=null){
  45. CookieuserCookie=newCookie("user",user);
  46. userCookie.setMaxAge(60*1*1);
  47. response.addCookie(userCookie);
  48. }
  49. System.out.println("=========writecookieend=========");
  50. RequestDispatcherreadCookie=getServletContext().getRequestDispatcher("/readCookie");
  51. readCookie.include(request,response);
  52. }
  53. }
Code:
  1. packagecom.nothing2012.servlet.cookie;
  2. importjava.io.ByteArrayInputStream;
  3. importjava.io.IOException;
  4. importjava.io.ObjectInputStream;
  5. importjava.io.PrintWriter;
  6. importjavax.servlet.ServletException;
  7. importjavax.servlet.http.Cookie;
  8. importjavax.servlet.http.HttpServlet;
  9. importjavax.servlet.http.HttpServletRequest;
  10. importjavax.servlet.http.HttpServletResponse;
  11. /**
  12. *ServletimplementationclassreadCookie
  13. */
  14. publicclassReadCookieextendsHttpServlet{
  15. privatestaticfinallongserialVersionUID=1L;
  16. /**
  17. *@seeHttpServlet#HttpServlet()
  18. */
  19. publicReadCookie(){
  20. super();
  21. //TODOAuto-generatedconstructorstub
  22. }
  23. protectedCookiegetCookie(Cookie[]cookies,Stringname){
  24. if(cookies!=null){
  25. for(Cookiec:cookies){
  26. if(c.getName().equals(name)){
  27. returnc;
  28. }
  29. }
  30. }
  31. returnnull;
  32. }
  33. /**
  34. *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse)
  35. */
  36. protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
  37. //TODOAuto-generatedmethodstub
  38. doPost(request,response);
  39. }
  40. /**
  41. *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponseresponse)
  42. */
  43. protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
  44. //TODOAuto-generatedmethodstub
  45. response.setContentType("text/html;charset=UTF-8");
  46. PrintWriterout=response.getWriter();
  47. System.out.println("========beginreadcookie===========");
  48. CookietempCookie=getCookie(request.getCookies(),"temp");
  49. if(tempCookie!=null){
  50. out.println("临时cookie值:"+tempCookie.getValue()+"<br/>");
  51. }else
  52. out.println("cookie已经被删除<br/>");
  53. Cookiecookie=getCookie(request.getCookies(),"cookie");
  54. if(cookie!=null){
  55. out.println("cookie:"+cookie.getValue()+"<br>");
  56. }else
  57. out.println("这个cookie永远不可能获得<br>");
  58. CookieuserC=getCookie(request.getCookies(),"user");
  59. if(userC!=null){
  60. out.println("user="+userC.getValue());
  61. }else
  62. out.println("user未创建");
  63. }
  64. }


package com.nothing2012.servlet.cookie;

@SuppressWarnings("serial")
public class MyCookie implements java.io.Serializable{
public String getMsg(){
return "222";
}
}

读取复杂对象:

Code:
  1. publicclassSaveComplexCookieextendsHttpServlet
  2. {
  3. @Override
  4. protectedvoidservice(HttpServletRequestrequest,
  5. HttpServletResponseresponse)throwsServletException,IOException
  6. {
  7. //创建一个用于进行Base64编码的BASE64Encoder对象
  8. sun.misc.BASE64Encoderbase64Encoder=newsun.misc.BASE64Encoder();
  9. //创建一个用于接收被序列化的对象实例字节流的ByteArrayOutputStream对象
  10. ByteArrayOutputStreamclassBytes=newByteArrayOutputStream();
  11. //创建一个用于向流中写入对象的ObjectOutputStream对象
  12. ObjectOutputStreamoos=newObjectOutputStream(classBytes);
  13. oos.writeObject(newMyCookie());//写入MyCookie对象实例
  14. oos.close();//关闭ObjectOutputStream对象
  15. //将被序列化的对象实例的字节流按Base64编码格式进行编码
  16. StringclassStr=base64Encoder.encode(classBytes.toByteArray());
  17. Cookiecookie=newCookie("mycookie",classStr);//将Base64编码写入Cookie
  18. cookie.setMaxAge(60*60*24);//Cookie的超时时间为1天
  19. response.addCookie(cookie);
  20. response.setContentType("text/html;charset=utf-8");
  21. PrintWriterout=response.getWriter();
  22. out.println("MyCookie的对象实例已写入Cookie");//输出提示消息
  23. }
  24. }
Code:
  1. publicclassReadComplexCookieextendsReadCookie
  2. {
  3. @Override
  4. publicvoidservice(HttpServletRequestrequest,
  5. HttpServletResponseresponse)throwsServletException,IOException
  6. {
  7. try
  8. {
  9. sun.misc.BASE64Decoderbase64Decoder=newsun.misc.BASE64Decoder();
  10. Cookiecookie=getCookie(request.getCookies(),"mycookie");
  11. if(cookie==null){
  12. System.out.println("----------------");
  13. return;
  14. }
  15. System.out.println("cookie更新不");
  16. StringclassStr=cookie.getValue();
  17. System.out.println(classStr);
  18. byte[]classBytes=base64Decoder.decodeBuffer(classStr);
  19. ObjectInputStreamois=newObjectInputStream(
  20. newByteArrayInputStream(classBytes));
  21. MyCookiemyCookie=(MyCookie)ois.readObject();
  22. response.setContentType("text/html;charset=utf-8");
  23. PrintWriterout=response.getWriter();
  24. out.println(myCookie.getMsg());
  25. System.out.println("========"+myCookie.getMsg());
  26. }
  27. catch(Exceptione)
  28. {
  29. e.printStackTrace();
  30. }
  31. }
  32. }

后者测试未通过:报java.io.EOFException

分享到:
评论

相关推荐

    Cookie 的一些属性

    testCookie.Value = DateTime.Now.ToString(); testCookie.Expires = DateTime.Now.AddDays(7); testCookie.Domain = "example.com"; Response.Cookies.Add(testCookie); ``` 这段代码创建了一个名为`LastVisited`...

    04_cookie_test.rar

    【标题】"04_cookie_test.rar" 是一个与Django框架相关的压缩包文件,其中包含了一个用于测试Cookie功能的项目。在Web开发中,Cookie是客户端存储数据的一种常见方式,通常用于跟踪用户会话、存储用户偏好等。Django...

    SpringTest cookie

    当我们谈论“SpringTest cookie”时,这可能指的是使用Spring Test模块进行Cookie相关的单元测试和集成测试。 Spring Test是Spring框架的一部分,专门用于支持测试Spring驱动的应用程序。它提供了一组工具,允许...

    cookie-test.zip

    标题“cookie-test.zip”指的是一个包含有关JavaScript设置网站Cookie的示例代码的压缩包文件。这个压缩包可能包含了几个关键文件,如HTML、JavaScript以及一个名为“js.cookie.min.js”的库,这通常是一个用于处理...

    Test_dl.rar_cookie_cookie java_cookies_java cookie

    标题中的“Test_dl.rar_cookie_cookie java_cookies_java cookie”暗示了一个关于Java编程中处理Cookie的教程或项目,可能涉及网络登录验证。描述进一步说明了这个压缩包包含的信息,它提到了如何利用Cookie进行自动...

    接口测试框架cookie_cookie_接口测试框架_

    requests库支持设置和获取Cookie,通过`cookies`参数可以在请求时携带Cookie,`cookies`属性则可以用来获取响应中的Set-Cookie。 在实际的测试框架搭建中,我们可以按照以下步骤进行: 1. 定义测试基类,包含通用...

    Cookie将用户名和密码加密后存在客户端的Cookie当中

    document.cookie = "testCookie=CookieTest"; if (allCookies.indexOf("testCookie") == -1) { alert("您的浏览器不支持Cookie!"); return false; } } } ``` 这里的关键在于提取出Cookie中的用户名和密码,...

    JS cookie Java cookie regex 整理结果

    在JavaScript中,我们可以使用`match()`、`search()`或`test()`方法与正则表达式配合,实现对Cookie字符串的复杂操作。 在实际应用中,JS和Java Cookie结合使用可以实现更高级的功能。例如,服务器通过Java Cookie...

    TestCookie.java(csdn)————程序.pdf

    在给定的`TestCookie.java`程序中,我们看到一个名为`TestCookie`的Servlet,它处理`/saveLoginTime`请求。这个Servlet的主要任务是检查用户是否为首次登录,并根据`Cookie`来保存和显示上次登录的时间。 首先,...

    jquery.cookie.js 存取cookie例子

    首先,我们需要在HTML文件(如`test.html`)中引入jQuery库(这里有两个版本:`jquery-1.8.3.js`和`jquery.min.js`,通常选择较小的`jquery.min.js`用于生产环境以优化加载速度)以及`jquery.cookie.js`插件。...

    java对cookie的操作java对cookie的操作

    接着,我们可以通过`setPath()`设定Cookie的作用路径,例如`cookie.setPath("/test/test2")`。最后,使用`response.addCookie(cookie)`将Cookie添加到响应中,发送给客户端。 2. 读取Cookie 在服务器端,我们可以...

    Cookie的用法,用户登录的访问次数

    cookie = Request.Cookies["Test"]; count = int.Parse(cookie.Values["count"]); count++; time = cookie.Values["time"]; } cookie.Values["count"] = count.ToString(); cookie.Expires = DateTime.Now....

    cookie&amp.pdf

    - 当用户请求URL `/testCookie?option=add` 时,服务器端将创建一个名为“cool”且值为“yeah!”的Cookie,并将其通过响应头发送给客户端。 - 请求和响应的HTTP信息展示了一个典型的Cookie设置场景。其中,`Cookie: ...

    jQuery的Cookie插件 cookies

    jQuery的Cookie插件 cookies ...if( $.cookies.test() ) //测试浏览器是否启用了cookie 外,该插件还支持存放 JSON 数据,已经直接将某个输入框映射到cookie中,例如 $( 'input.store' ).cookify(); 使用相当的方便。

    jquery下cookie插件使用

    ### jQuery Cookie插件详解 #### 一、简介 在Web开发中,Cookie是客户端存储机制的一种,被广泛应用于用户身份验证、保存用户偏好等场景。然而原生JavaScript操作Cookie较为繁琐,为此,jQuery社区提供了jQuery ...

    testCookieSession.rar

    【标题】"testCookieSession.rar"是一个压缩包文件,它包含了一个关于Cookie用户登录实现的代码示例。这个示例的目的是教你如何在Web应用程序中使用Cookie来处理用户的身份验证和会话管理。 【描述】描述中提到,该...

    JAVA操作COOKIE.docx

    cookie.setPath("/test/test2"); // 设置 Cookie 路径 response.addCookie(cookie); ``` 在上面的代码中,我们创建了一个名为 "key" 的 Cookie,值为 "value",生存期为 60 秒,路径为 "/test/test2"。然后将其添加...

    Dubbox跨域请求、Cookie设置

    在提供的压缩包文件中,`Test34-dubbox.html`可能是用于测试Dubbox跨域设置的前端页面,而`test-dubbox-cross`可能是一个包含相关配置或示例代码的文件。通过分析这些文件,你可以更深入地理解如何在实际项目中配置...

    httpTest——接口测试工具

    5. **会话管理**:支持Cookie和Session的管理,便于处理需要登录验证的接口测试。 6. **测试计划与脚本**:可以创建测试计划,将多个接口请求组合成一个测试流程,同时支持脚本编写,实现自动化测试。 7. **日志...

    js操作cookie

    使用这个类,我们就可以更简洁地进行Cookie操作,如`CookieManager.set('user', 'test', 2)`。 至于`t2.html`文件,它可能是用来演示或测试上述JavaScript操作Cookie的示例页面。在实际的Web应用中,我们通常会在...

Global site tag (gtag.js) - Google Analytics