Session解析

  1.除非关闭所有页面 或者超时session才销毁

  2.在几个页面之间切换的时候 session保存用户状态。

  3.遍历数组时候for循环中从0开始小于长度,不等于长度,用Matlab用习惯了,竟然从1开始了。

<%@page import="java.text.SimpleDateFormat"%>
<%@ 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>
    This is my JSP page. <br>
    <%
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        //d是毫秒数
        Date d = new Date(session.getCreationTime());
        session.setAttribute("username", "admin");
        session.setAttribute("password", "root");
        //设置session生存期限
        session.setMaxInactiveInterval(10); //10s
    %>
    <!-- 是创建的系统日期 不是创建花费的时间 -->
    session创建时间为:<%=sdf.format(d) %>
    session的ID编号为:<%=session.getId() %>
    session的用户名:<%=session.getAttribute("username") %>

    <a href="session2.jsp" target="_blank">链接到session2</a>
  </body>
</html>

  超链接是为了证明虽然去了另一个页面,但是session的id还是一样的,是同一个session。

<%@page import="java.text.SimpleDateFormat"%>
<%@ 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>
    This is my JSP page. <br>
    <%
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        //d是毫秒数
        Date d = new Date(session.getCreationTime());
        session.setAttribute("username", "admin");
    %>
    <!-- 是创建的系统日期 不是创建花费的时间 -->
    session创建时间为:<%=sdf.format(d) %>
    session的ID编号为:<%=session.getId() %>
    session的用户名:<%=session.getAttribute("username") %>
    session中保存的属性有:<%
        String[] names = session.getValueNames();
        for(int i=0;i<names.length; i++) {
        out.println(names[i]+"  ");
        }
     %>
  </body>
</html>

  设置session的最大生存时间,先点击session1,停留10s后点击session2,看看session2页面中的id是否和1页面中的一样。

  最后后四位的ID不一样,而且属性值 只有username  没有password。

时间: 2024-10-24 18:21:45

Session解析的相关文章

会话状态Session解析以及原理分析

我们知道web网站在客户端存储数据有三种形式:1. Cookie   2. hidden(隐藏域) 3.QueryString 其中viewstate什么的都是通过第二种方式隐藏域存储滴. 客户端存储数据有三种形式,那服务器端有几种呢? 嘿嘿 服务器端有:1. Session 2. Application 3. database 4. caching(缓存) 其中session用的较多,当然数据库是必须的. 开发过管理系统项目(不限大小)的童鞋应该都接触过session,在管理系统中sessio

JavaWeb--Servlet过滤器Filter和SpringMVC的HandlerInterceptor(Session和Cookie登录认证)

拦截一些请求进行处理,比如通过它来进行权限验证,或者是来判断用户是否登陆,日志记录,编码,或者限制时间点访问等等,是非常有必要的.所以就有了此篇文章啦. 文章结构:(1)Servlet过滤器Filter:(2)SpringMVC的HandlerInterceptor:(3)对比认知. 一.Servlet过滤器Filter: 此部分是从赵四大佬那里学来的,并补充自己的认知 (1)概念: 能够对Servlet容器的请求和响应对象进行检查和修改. Servlet过滤器本身并不产生请求和响应对象,它只能

oracle系统表v$session、v$sql字段说明(转)

在本视图中,每一个连接到数据库实例中的 session都拥有一条记录.包括用户 session及后台进程如 DBWR, LGWR, arcchiver等等. V$SESSION中的常用列 V$SESSION是基础信息视图,用于找寻用户 SID或 SADDR.不过,它也有一些列会动态的变化,可用于检查用户.如例: SQL_HASH_VALUE, SQL_ADDRESS:这两列用于鉴别默认被 session执行的 SQL语句.如果为 null或 0,那就说明这个 session没有执行任何 SQL语

oracle系统表v$session、v$sql字段说明

在本视图中,每一个连接到数据库实例中的 session都拥有一条记录.包括用户 session及后台进程如 DBWR, LGWR, arcchiver等等. V$SESSION中的常用列 V$SESSION是基础信息视图,用于找寻用户 SID或 SADDR.不过,它也有一些列会动态的变化,可用于检查用户.如例: SQL_HASH_VALUE, SQL_ADDRESS:这两列用于鉴别默认被 session执行的 SQL语句.如果为 null或 0,那就说明这个 session没有执行任何 SQL语

Oracle v$session/v$sql 表

在本视图中,每一个连接到数据库实例中的 session都拥有一条记录.包括用户 session及后台进程如 DBWR, LGWR, arcchiver等等. V$SESSION中的常用列 V$SESSION是基础信息视图,用于找寻用户 SID或 SADDR.不过,它也有一些列会动态的变化,可用于检查用户.如例: SQL_HASH_VALUE, SQL_ADDRESS:这两列用于鉴别默认被 session执行的 SQL语句.如果为 null或 0,那就说明这个 session没有执行任何 SQL语

Re:从零开始的Spring Session(二)

上一篇文章介绍了一些Session和Cookie的基础知识,这篇文章开始正式介绍Spring Session是如何对传统的Session进行改造的.官网这么介绍Spring Session: Spring Session provides an API and implementations for managing a user’s session information. It also provides transparent integration with: HttpSession -

Web框架之Django_08 重要组件(form组件、cookie和session组件)

摘要: form组件 cookie组件 session组件 一.form组件 form介绍我们之前在html页面中利用form表单向后端提交数据时候,都需要对用户的输入进行校验,比如校验用户是否输入正确(长度.格式...),如果用户输入的内容有误则需要在相应的位置显示对应的错误信息来提醒用户,提高前端的交互效率.Django form组件就是实现上述功能的一个功能组件.from组件主要功能有:# 生成页面可用的html标签# 对用户条件的数据进行校验# 保留上次输入内容 先来看看自己手写注册功能

[转]passport.js学习笔记

概述 passport.js是Nodejs中的一个做登录验证的中间件,极其灵活和模块化,并且可与Express.Sails等Web框架无缝集成.Passport功能单一,即只能做登录验证,但非常强大,支持本地账号验证和第三方账号登录验证(OAuth和OpenID等),支持大多数Web网站和服务. 官网: http://passportjs.org/ Github: http://github.com/jaredhanson/passport NPM: https://www.npmjs.org/

Fiddler调式使用知多少(一)深入研究

Fiddler调式使用(一)深入研究 阅读目录 Fiddler的基本概念 如何安装Fiddler 了解下Fiddler用户界面 理解不同图标和颜色的含义 web session的常用的快捷键 了解web Session上下文菜单 Fiddler如何捕获firefox中的会话 Fiddler如何捕获Https会话 Fiddler的HTTP统计视图 移动开发如何使用fiddler调式代码 回到顶部 Fiddler的基本概念: Fiddler是一款基于windows系统的代理服务器软件,本地运行的程序