2.       session的属性设置
先看案例:
登陆页面:


<%@page contentType="text/html;charset=gb2312"%>
<form action="login.jsp" method="post"> //表单提交激活的页面【此处设为本页】
       用户名:<input type="text" name="uname"><br>
       密码:<input type="text" name="upass"><br>
       <input type="submit" value="登陆">
</form> //设计表单。
<%
       // 判断是否有请求内容,因为第一次运行本页面表单没有任何参数被填写和提交。
       // 在自提交的页面中,必须对程序第一次运行做出处理
       if(request.getParameter("uname")!=null&&request.getParameter("upass")!=null) //如果接收到的参数不为空【及表单有参数提交】,则执行一下内容。
       {
              // 第一次的时候,并不能取得请求的参数
              String name = request.getParameter("uname") ;
              String password = request.getParameter("upass") ;
              // System.out.println(name) ;
              // System.out.println(password) ;
              if("mldn".equals(name)&&"lxh".equals(password))
              {
                     // 表示登陆成功
                     // 通过flag属性判断用户是否已经登陆
                     session.setAttribute("flag","ok") ;//设置了一个session标志"flag"并赋值"ok",它的作用是当下一次打开登录后的页面的时候页面会利用这个标志检验是否是用户为登陆状态。
                     // 跳转到welcome.jsp
                     response.sendRedirect("welcome.jsp") ;
              }
              else
              {
                     // 登陆失败,打印错误
       %>
                     <h3>登陆失败!!!</h3>
       <%
              }
       }
%>
欢迎页面:
<%@page contentType="text/html;charset=gb2312"%>
<%--
       用户必须先登陆之后,才能访问此页面
       如果用户没有登陆,则提示用户回去重新登陆
--%>
<%
       if(session.getAttribute("flag")!=null) //通过session的标志"flag"的值是否为"ok"来判断是否是用户是登陆状态。
       {
              // session被设置过,正常登陆过
%>
<h1>欢迎光临本页!!!</h1>
<h2><a href="logout.jsp">注销</a></h2>
<%
       }
       else
       {
              // 两秒后跳转到login.jsp页面之中
              response.setHeader("refresh","2;URL=login.jsp") ;
%>
<h1>您还未登陆,请先登陆!!!</h1>
<%
       }
%>
////////////////////////////////////
总结:
session.setAttribute("属性名","属性值")设置属性
session.getAttribute("属性名")取得设置的属性
就是通过它们对属性的设置和获取再和值进行对比就可以判断用户是否为登陆状态。
使用完之后还有remove Attribute("属性名")方法来删除该属性。
5.用户注销session.invalidate() ,需要手工操作。
目的是让用户的session失效,同时该用户session保留的所有操作也失效。
如果session长时间不被使用也会自动失效。
代码如下:
<%@page contentType="text/html;charset=gb2312"%>
<%
       // 使session失效
       session.invalidate() ;
%>
<a href="welcome.jsp">welcome.jsp</a>//页面返回。
///////////////////////////////////////////////////
1.       获得session的创建时间。
session.getCreationTime()——取得创建session的时间返回一个long型数据。
getLastAccessedTime()——取得用户最后一次操作的时间返回一个long型数据。
代码如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*"%>
<%
       long l = session.getCreationTime() ; //获取创建session的时间,但是得到的结果是一个long型的数据,无法读取。
       long l2 = session.getLastAccessedTime() ;//取得用户最后一次操作的时间
%>
<h1>session CREATE : <%=new Date(l)%></h1>//将取得的long型时间数据转化为我们可以识别的具体时间。
<h1>session last access: <%=new Date(l2)%></h1>//转化用户最后一次操作的具体时间。
<h1><%=(l2-l)/1000%></h1>
///////////////////////////////////////////////////////
用户在线时间=最后一次操作时间—创建时间。即:L2—L
Session和cookie的区别:前者保存在服务器上,后者保存在客户机上,前者比后者安全,但是占用更多资源,所以开发的时候尽量少像session中保存信息。Session使用了cookie的机制,如果cookie被禁用,则session同样被禁用。

session的属性设置的更多相关文章

  1. c# webConfig中的session超时详细设置

    webConfig中的session超时详细设置 我们在webConfig中设置Session超时的时候,如果最后发行的地址是远程服务器,我们很多不是必须的属性并不用设置,如果设之后,倒不能让 ses ...

  2. cookie的secure、httponly属性设置

    cookie的secure.httponly属性设置 转载自:http://www.cnblogs.com/alanzyy/archive/2011/10/14/2212484.html 一.属性说明 ...

  3. GeneXus笔记本——部分环境属性设置项

    这些属性的设置是我们在做项目的过程中都会设置的属性 当然也因项目而异 这里也只是单纯的记录一下 知识库 属性设置“Maximun numeric length" 效果:设置数值型最大值 版本 ...

  4. WinForm------DateEdit属性设置

    1.只能选择年份属性设置                       

  5. Session的属性

    Session的属性  Session在网络应用中被称为会话.具体到web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间,因 ...

  6. Composer Player 属性设置

    /// <summary> /// 设置选中名称 /// </summary> /// <param name="name"></para ...

  7. session超时时间设置方法

    session超时时间设置方法 由于session值之前没有设置,以至于刚登录的网站,不到一分钟就超时了,总结了一下,原来是session过期的原因,以下是设置session时间的3个方法: 1. 在 ...

  8. table中bordercolor属性设置后最新ie浏览器或firefox中不显示边线,借助table的css来实现边线

    table中的bordercolor属性设置后在最新的ie或者firefox中均不显示边线,table的边线又是常用功能.只能使用css来实现了,更通用,更方便一些. css: ​.ctable{ b ...

  9. .net 使用Json(),maxJsonLength属性设置的值问题

    “使用JSON JavaScriptSerializer进行序列化或反序列化时出错.字符串的长度超过了为maxJsonLength属性设置的值” 今天业务找我说线上的国家地区都显示数字(地区ID),而 ...

随机推荐

  1. Callable,阻塞队列,线程池问题

    一.说说Java创建多线程的方法 1. 通过继承Thread类实现run方法   2. 通过实现Runnable接口 3. 通过实现Callable接口 4. 通过线程池获取 二. 可以写一个Call ...

  2. 我们为什么会删除不了集群的 Namespace?

    作者 | 声东  阿里云售后技术专家 导读:阿里云售后技术团队的同学,每天都在处理各式各样千奇百怪的线上问题.常见的有网络连接失败.服务器宕机.性能不达标及请求响应慢等.但如果要评选的话,什么问题看起 ...

  3. Ubuntu生成应用图标

    1.DeskTop Entry介绍 现代 Linux 桌面系统也提供了此项功能.目前,Linux KDE 和 Linux GNOME 桌面系统都使用 Desktop Entry 文件标准来描述程序启动 ...

  4. ios 页面滑动到底部无法往上滚的问题

    简单说明:当h5端使用vue-infinite-scroll 插件 做滚动加载                如:页面布局  <header></header> <div ...

  5. 【转】Hibernate面试问题集锦: 概述

    ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q.怎么配置Hibernate? A.Configuration类使用配 ...

  6. 原生js实现音乐列表(隔行换色、全选)

    一.实现原理: 1.使用 % 运算符实现各行换色,规律:当%前面的值和后面的值相同时  结果为0: 2.使用开关思想,实现在同一个元素上反复点击时的条件判断,并且把开关以属性方式绑定在每个元素上: 3 ...

  7. Scala实践6

    1  if表达式 Scala中if...else..表达式是有返回值的,如果if和else返回值类型不一样,则返回Any类型. scala> val a3=10 a3: Int = 10 sca ...

  8. kuangbin专题 专题九 连通图 Strongly connected HDU - 4635

    题目链接:https://vjudge.net/problem/HDU-4635 题目:有向图,给定若干个连通图,求最多还能添加几条边,添完边后,图仍然要满足 (1)是简单图,即没有重边或者自环 (2 ...

  9. 【xinsir】webpack实践

    webpack现在是前端必会的技能了,也是在工作中必定用到的.所以,如果我们现在还不会webpack,那么在将来面试中肯定会被扣分的. webpack中文官网:https://www.webpackj ...

  10. bzoj1597: [Usaco2008 Mar]土地购买 dp斜率优化

    东风吹战鼓擂第一题土地购买送温暖 ★★★   输入文件:acquire.in   输出文件:acquire.out   简单对比时间限制:1 s   内存限制:128 MB 农夫John准备扩大他的农 ...