`
codsoul
  • 浏览: 212451 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

【转】(Web开发)Servlet实现Cookie实例

 
阅读更多
原文:http://blog.163.com/sean_zwx/blog/static/16903275520108603751166/?fromdm&fromSearch&isFromSearchEngine=yes



今天我给大家看一个Servlet下实现Cookie的例子,Cookie在网站上有很广泛的应用,能够实现将客户端的数据,暂时保存在本机,方便日后登陆,举个例子吧,比如你在登陆论坛的时候,会有一个选择项——保持30天登陆,这就用到的Cookie,将你的账号和密码以16进制的形式保存在你的电脑里的临时文件夹下,在下次登陆的时候,浏览器将自动为你加载Cookie




整个Cookie的过程包括2个过程,1个是写入Cookie,1个就是读取Cookie,我用Eclipse分别编写这2个类,并且部署到我的Web项目文件夹下的classes,然后在web.xml里部署这2个类,这个过程我在上一篇日志有详细介绍,不懂的朋友可以参考上一篇日志,我在这里就不再赘述了。







接下来我们分别来看看这2个类的具体代码



1.首先是写入Cookie的类setCookie



import java.io.IOException;
import java.io.PrintWriter;

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 setCookie extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException
{
  //添加6条cookie,每次增加2条
  for(int i=0;i<3;i++)
  {
   Cookie cookie = new Cookie("Cookie-"+(i+1),"Value-"+(i+1));
   //当前的Cookie只保存在打开窗口的内存中,并没有写入客户端磁盘
   resp.addCookie(cookie);
  
   Cookie timecookie = new Cookie("TimeCookie-"+(i+1),"Value-"+(i+1));
   //设置Cookie的生命为1小时
   timecookie.setMaxAge(3600);
   resp.addCookie(timecookie);
  }
 
  //解除中文乱码
  resp.setContentType("text/html;charset=GBK");
 
  PrintWriter pw = resp.getWriter();
  pw.println("<html><head><title>设置Cookie</title></head>"
    +"<body><h1 align=center>设置Cookie</h1>" + "<a href=\"showCookie\">查看cookies</a>" + "</body></html>");
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException
{
  doGet(req,resp);
}
}




上面就是往客户端浏览器写入了6条Cookie,值得注意的是,这6条Cookie中,其中的3条cookie只是保存在客户端浏览器的窗口内存,并没有生命,也就是说当浏览器关闭的时候,就自动删除这3条记录,而另外的3条timecookie则具有1小时的生命,将在客户端的硬盘的临时文件夹下保存1小时,1小时后,将自动删除该Cookie。





下面看看,读取Cookie的具体代码



import java.io.IOException;
import java.io.PrintWriter;

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 showCookie extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException
{
  resp.setContentType("text/html;charset=GBK");
  PrintWriter pw = resp.getWriter();
 
  String html = "<html><head><title>获取客户端Cookie</title></head>" +
    "<body><table border=1><tr><th>Cookie name</th><th>Cookie value</th></tr>";
  Cookie cookies[] = req.getCookies();
  if(cookies != null)
  {
   Cookie cookie;
   for(int i=0;i<cookies.length;i++)
   {
    cookie = cookies[i];
    html += "<tr><td>"+cookie.getName()+"</td><td>"+cookie.getValue()+"</td></tr>";
   }
  }
  html += "</table></body></html>";
  //发送html代码
  pw.println(html);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException
{
  doGet(req,resp);
}


}










好,我们来看看运行的效果,首先打开浏览器,输入网址http://127.0.0.1/Cookie/setCookie









这就已经向客户端写入的6条Cookie了,然后我们点击查看来读取客户端的Cookie


这就是我们添加的6条Cookie,就这样,很晚了,不能再熬了。
分享到:
评论

相关推荐

    Servlet对Cookie和Session的管理源码实例

    在Java Web开发中,Servlet是服务器端用于处理HTTP请求的核心组件。Servlet不仅能够生成动态内容,还能进行会话管理,其中最常用的就是Cookie和Session。本文将深入探讨Servlet如何管理和利用这两种技术进行会话跟踪...

    Java Servlet及Cookie的使用

    Java Servlet和Cookie是Web开发中的两个重要概念,它们在构建动态、交互式的Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并提供详细的实践应用示例。 **Java Servlet** Java Servlet是一种Java语言...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    servlet+cookie和Session

    1. **初始化**:服务器启动或首次接收到请求时,Servlet容器根据`web.xml`配置文件创建Servlet实例,并调用`init()`方法。`init()`方法只执行一次,可以用于进行一些初始化操作。 2. **服务**:每次客户端请求时,...

    纯Servlet实现用户管理系统(入门实例,深刻认识Servlet)

    在IT行业中,Servlet是Java Web开发中的核心...这个实例提供了一个很好的起点,让学习者能够动手实践,进一步理解和掌握Servlet在实际Web开发中的运用。通过不断地实践和学习,你将能构建更复杂、更健壮的Web应用程序。

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    使用Java servlet实现自动登录退出功能

    Java Servlet是一个Java类库,用于开发基于Web的应用程序。Servlet是运行在Web服务器上的小程序,可以响应客户端的请求,并将结果返回给客户端。 知识点2:了解自动登录退出功能 自动登录退出功能是指在用户登录...

    深入学习:Java Servlet开发与实例.rar

    - annotations:Java Servlet 3.0及以上版本支持注解配置,可以直接在Servlet类上使用`@WebServlet`进行声明。 3. **Servlet生命周期** - 初始化:Servlet实例化时,`init()`方法会被调用,可以进行一次性的配置...

    servlet使用cookie保存客户登录信息

    在Web开发中,Servlet是一种Java技术,用于生成动态web内容。Servlet主要负责处理HTTP请求,与后端数据库交互,并向客户端发送响应。在这个场景中,我们关注的是如何使用Servlet配合Cookie来保存用户登录状态,以及...

    Java Servlet及Cookie的使用.rar

    - 使用Java 5及以上版本的注解进行Servlet配置,如`@WebServlet`。 3. **Servlet通信** - `doGet()`和`doPost()`方法处理HTTP GET和POST请求,可以根据HTTP方法重写这些方法。 **Cookie** Cookie是Web服务器...

    Jsp+Servlet+Cookie实现记住密码,自动登录,防止表单提交,记录登录次数

    在Web开发中,"Jsp+Servlet+Cookie"是一个常见的技术组合,用于构建动态、交互式的网站应用。在这个实例中,我们将深入探讨如何利用这些技术实现记住密码、自动登录、防止表单重复提交以及记录登录次数的功能。 ...

    Servlet实例源码

    8. **JSP和Servlet协同工作**:在某些实例中,Servlet可能会转发或重定向请求到JSP页面,实现视图和控制的分离。这涉及`RequestDispatcher`的使用。 9. **配置和部署**:源码部署在Tomcat6上,意味着我们需要了解...

    jsp_web.rar_WEB开发实例_university system_web开发_大学_web

    【标题】"jsp_web.rar" 是一个压缩包文件,它包含了一个名为 "WEB开发实例_university system_web开发_大学_web" 的项目。这个项目聚焦于使用JSP(JavaServer Pages)技术进行Web开发,特别针对的是大学的信息化...

    基于eclipse的web开发实战实例

    "基于Eclipse的Web开发实战实例"为我们提供了一个学习和实践的宝贵资源,涵盖了从项目创建到部署的全过程。 首先,我们需要了解Eclipse的基础操作,包括安装、配置以及如何创建一个新的Java Web项目。Eclipse提供了...

    servlet实现登录注册等源码

    Servlet是Java平台上的一个核心技术,用于开发动态Web应用程序。它提供了一种标准的方法来处理HTTP请求,并将这些请求转发到服务器端的应用程序,通常是一个Java类。在本项目"Servlet实现登录注册等源码"中,我们...

    web开发一些技术的业务流程描述(java,http,applet,jsp,servlet,cookie,session)

    Servlet是Java Web开发中用于处理客户端请求的关键技术之一,其生命周期包括以下阶段: 1. **初始化**: - 加载Servlet类并创建其实例。 - 调用init()方法进行初始化。 2. **服务**: - 服务器接收到客户端请求...

    传智播客_张孝祥_java.web_Servlet开发入门第8讲

    在本课程"传智播客_张孝祥_java.web_Servlet开发入门第8讲"中,我们将深入探讨Java Servlet技术,这是Java Web开发的核心部分。Servlet是Java平台上的一个标准接口,它允许我们创建动态、交互式的Web应用程序。Java ...

    cookie小实例(给初学的同学作参考)

    在IT行业中,尤其是在Web开发领域,Cookie是一种非常基础且重要的技术。它被广泛用于跟踪用户会话、存储用户偏好设置以及实现登录状态等。本文将深入讲解Cookie的概念、工作原理,以及如何通过Servlet来实现Cookie的...

Global site tag (gtag.js) - Google Analytics