• jsp>Session 小强斋


    一、Session 的主要方法:
     1、服务器上通过session 来分别不同的用户,任何连到服务器上的用户,服务器都会为之分配唯一的一个不会重复的session ID,sessionID 是由服务器统一管理的,人为不能控制
     方法:session.getId()
     长度为:32
     2、判断是否是新的session
      public boolean isNew()
     判断当前的 session 是否是新建立的session
     3、session 的属性设置
     设置属性:
     public void setAttribute(String name,Object value)
     取得属性:
     public Object getAttribute(String name)
     删除属性:
     public void removeAttribute(String name)
     4、用户注销:让用户的session 失效
     如果 session 失效,则在session 所保留的全部操作也会消失
     public void invalidate():使session 失效(手工)
     如果 session 长时间不被使用,则也会自动失效
     5、得到session 的创建时间
     public long getCreationTime()
     此方法返回 long 类型,通过Date 类可以取得一个完整的时间
     6、取得用户最后一次操作的时间
     public long getLastAccessedTime()
     
    例子:
    login.jsp

    <%@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") ;
        // 跳转到welcome.jsp
        response.sendRedirect("welcome.jsp") ;
       }
       else
       {
        // 登陆失败,打印错误
      %>
        <h3>登陆失败!!!</h3>
      <%
       }
      }
     %>
    wecome.jsp
    <%@page contentType="text/html;charset=gb2312"%>
     <%--
      用户必须先登陆之后,才能访问此页面
      如果用户没有登陆,则提示用户回去重新登陆
     --%>
     <%
      if(session.getAttribute("flag")!=null)
      {
       // session被设置过,正常登陆过
     %>
     <h1>欢迎光临本页!!!</h1>
     <h2><a href="logout.jsp">注销</a></h2>
     <%
      }
      else
      {
       // 两秒后跳转到login.jsp页面之中
       response.setHeader("refresh","2;URL=login.jsp") ;
     %>
     <h1>您还未登陆,请先登陆!!!</h1>
     <%
      }
     %>
    logout.jsp
    <%@page contentType="text/html;charset=gb2312"%>
     <%
      // session失效
      session.invalidate() ;
     %>
     <a href="welcome.jsp">welcome.jsp</a>
    二、session和cookie
    1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。  
    2、session中保存的是对象,cookie中保存的是字符串。
    session 比cookie 更安全,session 比cookie 更占用资源
    开发的原则:session 要尽量少使用—— 尽量少向session 中保存信息
    session 使用了cookie 的机制,如果cookie 被禁用,则session 也无法使用


  • 相关阅读:
    MySQL如何利用索引优化ORDER BY排序语句 【转载】
    c++拼接字符串效率比较(+=、append、stringstream、sprintf)
    Mysql 的字符编码机制、中文乱码问题及解决方案【转载】
    Java连接MySQL中文乱码处理【转载】
    Java 接口
    Java 抽象类和Final关键字
    Java 对象转型
    Java 动态绑定和多态
    Java 继承和访问控制
    Java Class Object
  • 原文地址:https://www.cnblogs.com/xiaoqiangzhaitai/p/5637588.html
Copyright © 2020-2023  润新知