`
wangyanlong0107
  • 浏览: 481057 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

session何时创建

    博客分类:
  • jsp
 
阅读更多
没有 HttpServletRequest.getSession(true) ,Sesion是不会创建的, 即便Servlet又转发(或者重定向)到第二个页,只要第二个页(html)依然不是jsp页,Session就依然不会创建,如果是jsp则自动创建一个session对象,放到jsp的内置对象里面:jsp生成的servlet.java
//可以看到内置对象有session:
public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n");
      out.write("\r\n");
      out.write("\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");

String selfUrl = (String) SystemParameter.getValue(ConfigClassType.SYSTEM, "SSO", "SelfUrl");

      out.write("\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("<SCRIPT language=\"javascript\">\r\n");
      out.write("<!--\r\n");
      out.write("top.window.location = '");
      out.print( request.getContextPath());
      out.write("/loginindex.do';\r\n");
      out.write("//-->\r\n");
      out.write("</SCRIPT> \r\n");
      out.write("<!-- top.window.location = '");
      out.print( request.getContextPath() + selfUrl);
      out.write("';-->\r\n");
      out.write("<!-- top.window.location = '");
      out.print( request.getContextPath());
      out.write("/loginindex.do';-->  \r\n");
      out.write("</body>\r\n");
      out.write("</html>");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
分享到:
评论

相关推荐

    监听session的创建到销毁

    这是一个用springMVC的项目 是一个监听器 用于监听session的创建、销毁、移除。会触发相应的事件处理

    自己实现的spring-session

    如果没有sessionId就新创建session,如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId...

    重写session机制,将session写入数据库,建表和注释写的都很清晰,已测试

    重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试

    HttpSessionListener监听session的创建及销毁,实现在线用户统计

    用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...

    PHP创建和使用session cookie变量

    //给一个session 变量赋值,如果该变量不存在即创建 echo $_SESSION['user_id'];//访问 session变量 $_SESSION = array();//清空所有session变量 session_destroy();//清除会话ID // session end // cookie ...

    解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题

    主要介绍了解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题,需要的朋友可以参考下

    jsp中Session对象源码

    jsp课程中内置对象session,jsp教程中的上课源代码

    session监听小例子

    自己学习写的一个监听session各个操作,从session创建到消毁。

    struts2创建 request response session application

    一个Demo告诉你struts2如何创建 request response session application

    xshell批量创建.xsh会话文件

    3、提前需要准备一个xshell的session模板文件,一般是自己在xshell中创建好的一个session ;还需要准备一个ip列表: IP列表的格式为 [aa] ip1 ip2 [bb] ip3 4、以上面的ip列表为例,生成的文件名为: ip1-aa.xsh ip...

    session初始化+网站流量统计+在线人数

    servlet 服务器监视所有的session创建,同时可以实现网站流量以及当前在线人数的统计

    Nginx+Mamcache负载均衡session共享应用

    在这个互联网高度发达的时代,...在单机环境中,Session的创建和存储都是由同一个应用服务器实例来完成,而存储也仅是内存中,最多会在正常的停止服务器的时候,把当前活动的Session钝化到本地,再次启动时重新加载。

    PHP7创建销毁session的实例方法

    下面我们就来介绍下PHP7中创建与销毁session的方法,希望对各位有帮助! PHP7中创建session和销毁session的方法 session可以保存任何的数据类型 1,开始session会话 session_start() 2,设置session $_SESSION['...

    oracle Session与lock 解除

    创建索引的时候也会产生3,4级别的锁。 locked_mode为2,3,4不影响DML(insert,delete,update,select)操作, 但DDL(alter,drop等)操作会提示ora-00054错误。 有主外键约束时 update / delete ... ; 可能会产生...

    PHP100视频教程 32:PHP5中Cookie与 Session详解

    1、Cookie和Session简介与区别Session信息是存放在...一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。3、Session的配置与应用4、用Cookie和Session做登陆

    session的实例

    简单的网上购物,将购买者的姓名、商品名保存在session对象中,实现一个web目录下的页面对session对象中信息的共享。要求创建三个页面,第一个页面输入用户的姓名,第二个页面输入购买商品名的名称,第三个页面实现...

    创建带时间戳的session值,以及设置token

    创建带时间戳的session值,以及设置token,网上找了好多的资源,都没有现成的,都是一点点拼凑起来的为什么一定要分数才行呢?免费共享不好吗?

    session.socket.io, 在 socket.io 中,表示/连接会话.zip

    session.socket.io, 在 socket.io 中,表示/连接会话 session.socket.io ( SessionSockets ) 这个小模块简化了 socket.io 使用express或者连接中间件的http会话的使用。 它没有依赖项,可以使用任何与表示或者连接...

    Session Cookie的HttpOnly和secure属性

    当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。...

Global site tag (gtag.js) - Google Analytics