原文: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,就这样,很晚了,不能再熬了。
分享到:
相关推荐
在Java Web开发中,Servlet是服务器端用于处理HTTP请求的核心组件。Servlet不仅能够生成动态内容,还能进行会话管理,其中最常用的就是Cookie和Session。本文将深入探讨Servlet如何管理和利用这两种技术进行会话跟踪...
Java Servlet和Cookie是Web开发中的两个重要概念,它们在构建动态、交互式的Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并提供详细的实践应用示例。 **Java Servlet** Java Servlet是一种Java语言...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
1. **初始化**:服务器启动或首次接收到请求时,Servlet容器根据`web.xml`配置文件创建Servlet实例,并调用`init()`方法。`init()`方法只执行一次,可以用于进行一些初始化操作。 2. **服务**:每次客户端请求时,...
在IT行业中,Servlet是Java Web开发中的核心...这个实例提供了一个很好的起点,让学习者能够动手实践,进一步理解和掌握Servlet在实际Web开发中的运用。通过不断地实践和学习,你将能构建更复杂、更健壮的Web应用程序。
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
Java Servlet是一个Java类库,用于开发基于Web的应用程序。Servlet是运行在Web服务器上的小程序,可以响应客户端的请求,并将结果返回给客户端。 知识点2:了解自动登录退出功能 自动登录退出功能是指在用户登录...
- annotations:Java Servlet 3.0及以上版本支持注解配置,可以直接在Servlet类上使用`@WebServlet`进行声明。 3. **Servlet生命周期** - 初始化:Servlet实例化时,`init()`方法会被调用,可以进行一次性的配置...
在Web开发中,Servlet是一种Java技术,用于生成动态web内容。Servlet主要负责处理HTTP请求,与后端数据库交互,并向客户端发送响应。在这个场景中,我们关注的是如何使用Servlet配合Cookie来保存用户登录状态,以及...
- 使用Java 5及以上版本的注解进行Servlet配置,如`@WebServlet`。 3. **Servlet通信** - `doGet()`和`doPost()`方法处理HTTP GET和POST请求,可以根据HTTP方法重写这些方法。 **Cookie** Cookie是Web服务器...
在Web开发中,"Jsp+Servlet+Cookie"是一个常见的技术组合,用于构建动态、交互式的网站应用。在这个实例中,我们将深入探讨如何利用这些技术实现记住密码、自动登录、防止表单重复提交以及记录登录次数的功能。 ...
8. **JSP和Servlet协同工作**:在某些实例中,Servlet可能会转发或重定向请求到JSP页面,实现视图和控制的分离。这涉及`RequestDispatcher`的使用。 9. **配置和部署**:源码部署在Tomcat6上,意味着我们需要了解...
【标题】"jsp_web.rar" 是一个压缩包文件,它包含了一个名为 "WEB开发实例_university system_web开发_大学_web" 的项目。这个项目聚焦于使用JSP(JavaServer Pages)技术进行Web开发,特别针对的是大学的信息化...
"基于Eclipse的Web开发实战实例"为我们提供了一个学习和实践的宝贵资源,涵盖了从项目创建到部署的全过程。 首先,我们需要了解Eclipse的基础操作,包括安装、配置以及如何创建一个新的Java Web项目。Eclipse提供了...
Servlet是Java平台上的一个核心技术,用于开发动态Web应用程序。它提供了一种标准的方法来处理HTTP请求,并将这些请求转发到服务器端的应用程序,通常是一个Java类。在本项目"Servlet实现登录注册等源码"中,我们...
Servlet是Java Web开发中用于处理客户端请求的关键技术之一,其生命周期包括以下阶段: 1. **初始化**: - 加载Servlet类并创建其实例。 - 调用init()方法进行初始化。 2. **服务**: - 服务器接收到客户端请求...
在本课程"传智播客_张孝祥_java.web_Servlet开发入门第8讲"中,我们将深入探讨Java Servlet技术,这是Java Web开发的核心部分。Servlet是Java平台上的一个标准接口,它允许我们创建动态、交互式的Web应用程序。Java ...
在IT行业中,尤其是在Web开发领域,Cookie是一种非常基础且重要的技术。它被广泛用于跟踪用户会话、存储用户偏好设置以及实现登录状态等。本文将深入讲解Cookie的概念、工作原理,以及如何通过Servlet来实现Cookie的...