JSP之Cookie

Cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器,通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复等。

首先创建index.jsp:

<%@page import="java.net.URLDecoder"%>
<%@page import="javax.activation.URLDataSource"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘index.jsp‘ starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
    <%
    Cookie[] cookies=request.getCookies();
    //从request中获得cookie对象的集合
    String user="";
    String date="";
    if(cookies !=null){
    //遍历cookie对象集合
    for(int i=0;i<cookies.length;i++){
    if(cookies[i].getName().equals("cdp")){
    user=URLDecoder.decode(cookies[i].getValue().split("#")[0]);
    //获取用户名
    date=cookies[i].getValue().split("#")[1];
    //获取注册时间
        }
        }
        }

    if("".equals(user)&&"".equals(date)){
    //如果没有注册
    %>
    <p>
    游客您好,欢迎初次光临!
    </p>
    <form action="MyJsp.jsp method="post"></form>
     请输入姓名:<input name="user" type="text" value=""><br>
     <input type="submit" value="确定">
     <%
     }else{
     //已注册
      %>
      欢迎<b><%=user %>再次光临<br>
       你注册的时间是:<%=date %>
      <%
     }
       %>

  </body>
</html>

再创建MyJsp.jsp,用于向cookie中写入对象注册信息:

<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘MyJsp.jsp‘ starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>

  <body>
    <%
    request.setCharacterEncoding("GB18030");
    //设置请求的编译为GB18030
    String user=URLEncoder.encode(request.getParameter("user"),"utf-8");
    //获取用户名
    Cookie cookie=new Cookie("cdp",user+"#"+new java.util.Date().toLocaleString());
    //创建并实例化Cookie对象
    cookie.setMaxAge(60*60*24*30);
    //设置Cookie有效时间为30天
    response.addCookie(cookie);
    //保存Cookie
     %>
     <script type="text/javascript">window.location.href="index.jsp"</script>
  </body>
</html>
时间: 2024-08-05 11:17:56

JSP之Cookie的相关文章

web day11 JSP基础,Cookie,HttpSession

主要内容: 1. JSP基础 2. Cookie 3. HttpSession ================================ JSP基础 1. jsp的作用: *Servlet: > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html>") > 优点:动态资源,可以编程. *html: > 缺点:html是静态页面,不能包含动态信息 > 优点:不用为输出html标签而发愁

jsp利用cookie记住用户名,下次登录时显示在文本框中(仅仅一个Cookie就整了将近三个小时,⊙﹏⊙b汗)

<%@page import="java.net.URLDecoder"%> <%@page import="sun.security.util.Length"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html

jsp操作Cookie

Cookie通常用于网站记录客户的某些信息,比如客户的用户名,客户的喜好等.一旦用户下次登录,网站就可以得到客户端的信息,根据这些客户信息,网站可以为客户提供更好的服务了.Cookie与session的不同之处在于:session会随浏览器的关闭而失效,cookie会一直存在客户端的机器上,除非超出的Cookie的生存周期. 关于Cookie与session请看这个博客,讲的很详细:http://blog.csdn.net/fangaoxin/article/details/6952954 向客

JSP的Cookie处理

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/Cookies-handling.html: Cookies是存储在客户端计算机的文本文件,保存各种跟踪目标的信息.JSP使用底层Servlet技术透明地支持HTTP Cookies. 确定返回用户有三个步骤: 服务器脚本向浏览器发送的一系列Cookies.例如姓名.年龄.身份证号码等. 浏览器将这个信息存储在本地机器上,以供将来使用. 下次当浏览器向Web服务器发送任何请求时,将这些Cookies信息

初识JSP之Cookie机制

http协议的无状态性 我们在进行web应用程序开发的时候,使用的是HTTP协议来传输数据,但是这个Http协议有个先天性的不足,也就是无状态,它无法对用户的状态进行保存管理.所谓的无状态就是是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才的那个浏览器.简单地说,就是服务器不会去记得你.所以称作无状态协议. 由于HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连

超全面的JavaWeb笔记day11&lt;JSP&amp;Session&amp;Cookie&amp;HttpSession&gt;

1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的组成 JSP = html + Java脚本(代码片段) + JSP动态标签 2 JSP语法 2.1 JSP脚本 JSP脚本就是Java代码片段,它分为三种: l <%...%>:Java语句: l <%=-%>

js/jsp操作cookie的方法

最近项目用到了自动登录功能,使用到了cookie. 一.cookie简介    浏览器与WEB服务器之间是使用HTTP协议进行通信的:而HTTP协议是无状态协议.也就是说,当某个用户发出页面请求时,WEB服务器只是简单的进行 响应,然后就关闭与该用户的连接.因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而 知.为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,     它是一种WEB服务器

jsp 获取cookie 的值的方法

Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=null; for(int i=0;i<cookies.length-1;i++){    //用一个循环语句遍历刚才建立的Cookie对象数组 sCookie=cookies[i];   //取出数组中的一个Cookie对象 if(sCookie!=null){       if(("cook

JSP Cookie 处理

Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持. 通常有三个步骤来识别回头客: 服务器脚本发送一系列cookie至浏览器.比如名字,年龄,ID号码等等. 浏览器在本地机中存储这些信息,以备不时之需. 当下一次浏览器发送任何请求至服务器时,它会同时将这些cookie信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情. 本章节将会传授您如何去设置或重设cookie的方法,还有如何访问它们及如何