保存数据的2中方式

  • Cookie
  • Session

Cookie

我们可以将一些信息保存到cookie中,cookie存放在对应的浏览器目录里面。每个站点可以保存20个cookie,最大长度不超过4k。同时,由于http协议是明文传输,所以使用cookie的时候存在一些安全性问题。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

{

try

{

Cookie[] cookies = req.getCookies();

boolean usernameFound = false;

if(null != cookies)

{

System.out.println("cookie found");

for(Cookie item : cookies)

{

System.out.println(item.getName());

if("username".equals(item.getName()))

{

usernameFound = true;

System.out.println("username = " + item.getValue());

break;

}

}

}

if(!usernameFound)

{

System.out.println("没有任何cookie");

Cookie username = new Cookie("username", "Oliver");

resp.addCookie(username);

}

}

catch(Exception exception)

{

System.out.println("异常:" + Tools.getCurrentTime());

System.out.println(exception);

}

}

Session

Session通过cookie保存,每个session有一个唯一的ID(通过getId()获取)。默认情况下session过期时间为30分钟,可以通过代码或者配置的方式设置session失效时期,代码优先于配置文件。

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

{

HttpSession session = req.getSession();

if(null != session)

{

System.out.println("session 未过期");

}

else

{

System.out.println("session 过期");

}

//设置session失效时间为2分钟

session.setMaxInactiveInterval(60 * 2);

session.setAttribute("count", 999);

session.invalidate();

}

 

也可以通过通过部署描述服务配置失效时间web.xml

<session-config>

<session-timeout>30</session-timeout>

</session-config>

Servlet中的cookie和session的更多相关文章

  1. 第74节:Java中的Cookie和Session

    第74节:第74节:Java中的Cookie和Session ServletContext: 什么是ServletContext,有什么用哦,怎么用呢? 启动服务器后,会给每个应用程序创建一个Serv ...

  2. 4、Servlet中的Cookie 用于存储 web 页面的用户信息。

    Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...

  3. Flask中使用cookie和session

    Flask中使用cookie和session 设置cookie from flask import Flask,Response app = Flask(__name__) @app.route('/ ...

  4. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  5. django系列7.2--django中的cookie和session基本操作,浏览器登陆验证的不同实现

    django中的cookie和session(02)–操作 一.Django中的cookie操作 ctrl + shift + del 是谷歌浏览器中清除页面缓存和cookie的快捷键 1.设置coo ...

  6. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  7. Django---Django中使用COOKIE和SESSION

    Django---Django中使用COOKIE和SESSION 一丶Cookie cookie的由来 # HTTP协议是无状态的. # 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请 ...

  8. 理解会话中的Cookie和Session对象

    会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 在java语言中,Servlet程序是由WEB服务器调用,web服务器收到客 ...

  9. 程序中的Cookie 和Session

    这几天回家休息后,想想放假之前的几天,主要看的一些工作上的东西,发现对Session和Cookie这两个东西,我还是很陌生.恩,趁着有网,看了点相关的资料,打算整理下.一翻博客,发现已经有前辈已经对这 ...

随机推荐

  1. Web前端开发笔试&面试_04

    >>XDL: 1.在CSS中,选择器的优先级?(如important,id,class 这些……) 2.如何消除行内间隙? Inline-block 3. 如何清除浮动? —— 4. CS ...

  2. 4.Nexus按项目类型分配不同的工厂来发布不同的项目

    在[3.发布Maven项目到nexus中]配置了把项目发布到nexus中的方法但是有时候,一个公司会有很多项目[crm,oa,erp]等等的项目.如果把这些项目全部都放到releases或者snaps ...

  3. web前端面试2

    百度另外一部门面试 1.前端html5新特性 2.数组常用函数 3.前后台json树形结构遍历,对算法的了解 4.css3背景属性设置为适合匹配模块的属性是什么 5.jquery插件的写法 6.研究过 ...

  4. ImageView及其子类

    ImageView及其子类 (1)ImageView继承自View组件,任何Drawable对象都可以用ImageView来显示,ImageView派生出来了ImageButton.ZoomButto ...

  5. struts2介绍

    struts2简介 Struts2框架发展 Struts于2000年5月由Craig McClanahan发起,并于 2001年7月发布了1.0版本,Struts一出现便大受欢迎,更成为了以后几年内w ...

  6. jquery操作html data-* 属性的坑

  7. astats日志分析系统

    Awstats是一个免费非常简洁而且强大有个性的网站日志分析工具. 功能: 一:访问量,访问次数,页面浏览量,点击数,数据流量等 二:精确到每月.每日.每小时的数据 三:访问者国家 四:访问者IP 五 ...

  8. jQuery实现网站图片放大效果

    实现效果:当鼠标指向商品图片时,图片会自动放大. <!DOCTYPE html> <html> <head> <meta charset="UTF- ...

  9. WINDOWS黑客基础(5):利用内存来进行获取计算结果

    在前面的注入代码的章节中,我们利用了VirtualAllocEx来在对方的进程开辟了一块内存,并且将代码复制进对方进程的内存里面,从而执行那段内存的代码,但是这里有一个问题,就是代码不是执行在我们进程 ...

  10. 文件Copy和文件夹Copy

    文件Copy和文件夹Copy using System.Collections.Generic; using System.Linq; using System.Text; using System. ...