JavaWeb学习记录(十五)——浏览器Cookie禁用后的处理

IE禁用Cookie方式:

例一:

demo.do相关代码

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession session=request.getSession();
        String jsessionid=session.getId();
        Cookie sessionCookie=new Cookie("JSESSIONID", jsessionid);
        session.setAttribute("name", "zzz");
        String url=response.encodeRedirectURL("./demo2.do");
        response.sendRedirect(url);
    }

demo2.do相关代码

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession session = request.getSession();

// 获取session的id
        String jsessionid = session.getId();
        
        System.out.println(session.getAttribute("name"));
    }

输入地址http://127.0.0.1:8080/cookie/demo.do

结果

地址栏结果:

http://127.0.0.1:8080/cookie/demo2.do;jsessionid=D2B0058380743E3731D50C49E6355144

HttpWatch结果:

控制台有输出为zzz

例二:

demo.do代码

  response.setContentType("text/html;charset=UTF-8");
        
        PrintWriter out = response.getWriter();
        
        out.println("<html>");
        out.println("<body>");
        //String url=response.encodeURL("./demo2.do");
        out.println("<a href=‘./demo2.do‘>加入购物车</a>");
        out.println("<body>");
        out.println("</html>");

demo1.do 相关不变

结果与例一类似

说明:

(一)、再禁用cookie后 应该采用 ip地址访问 http://172.16.237.247:8080/web_11/goods.do?oper=detailCart

(二)、

¨演示禁用Cookie后servlet共享数据导致的问题。

¨解决方案:URL重写

  response. encodeRedirectURL(java.lang.String url)

  用于对sendRedirect方法后的url地址进行重写。

  response. encodeURL(java.lang.String url)

  用于对表单action和超链接的url地址进行重写

¨附加:

  Session的失效

  Web.xml文件配置session失效时间

时间: 2024-10-08 16:13:09

JavaWeb学习记录(十五)——浏览器Cookie禁用后的处理的相关文章

javaweb学习总结十五(web开发的相关概念以及常用服务器介绍)

一:java web开发的相关概念 1:web分为静态web和动态web 2:模拟web服务器 web页面如果想让外部网络访问,必须通过网络程序读取资源,流程: a:用户通过浏览器访问网络程序 b:网络程序读取资源,然后响应给用户 代码: 1 /** 2 * 3 */ 4 package com.hlcui.testweb; 5 6 import java.io.FileInputStream; 7 import java.io.IOException; 8 import java.io.Out

javaweb学习总结(十五)——JSP基础语法

任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端     语法:<%= 变量或表达式 %>     举例:输出当前系统时间: 1 <%= new java.util.Da

javaweb学习总结(十五)——JSP基础语法(转)

任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端     语法:<%= 变量或表达式 %>     举例:输出当前系统时间: 1 <%= new java.util.Da

JavaWeb学习 (二十五)————监听器(Listener)

一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行. 1.2.监听器案例--监听window窗口的事件监听器 1 package me.gacl.listener.demo; 2 3 import java.awt.Fram

javascript基础学习(十五)

javascript之cookie 学习要点: cookie介绍 创建与获取cookie cookie的编码 cookie的生存期 cookie的路径 cookie的domain cookie的secure 一.cookie介绍 cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上.在javascript中,cookie主要用来保存状态,或用于识别身份. 二.创建与获取cookie 创建cookie的语法代码如下所示:document.cookie="name=value&q

hbase 学习(十五)缓存机制以及可以利用SSD作为存储的BucketCache

下面介绍Hbase的缓存机制: a.HBase在读取时,会以Block为单位进行cache,用来提升读的性能 b.Block可以分类为DataBlock(默认大小64K,存储KV).BloomBlock(默认大小128K,存储BloomFilter数据).IndexBlock(默认大小128K,索引数据,用来加快Rowkey所在DataBlock的定位) c.对于一次随机读,Block的访问顺序为BloomBlock.IndexBlock.DataBlock,如果Region下面的StoreFi

laravel3学习笔记(十五)

原作者博客:ieqi.net ==================================================================================================== 异常与日志 在应用中,我们总会遇到各种问题.各种异常,这时,记录异常发生时的状态就很重要,所以异常与日志是有着天然的关系的. 关于异常与日志的配置在文件 application/config/error.php 中. 文件中有四个配置项: 'ignore' => ar

MVC+Ext.net零基础学习记录(五)

继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报错 错误 1 命令“mkdir "...\Areas\HPSS\Views" xcopy "...?\Views" "E:\Work\01 TPMSRC\MVCWEBTPM\WEBTPM\Areas\HPSS\Views" /S /E /C /Y 已

python学习记录第五篇--遍历目录

#coding=utf-8'''@author: 简单遍历目录删除文件的小程序'''import os#查找文件操作def findFile(path): fileList=[] for rootPath,subRoot,fileName in os.walk(path): for sub in fileName: if os.path.isfile(os.path.join(rootPath,sub)): k=os.path.splitext(sub)[1].lower() if k in (