zoukankan      html  css  js  c++  java
  • Session是否为新建情况的判断

    Session是否为新建情况的判断:

    Xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
        <display-name>TestBootWeb</display-name>
        <servlet>
            <servlet-name>TestServlet1</servlet-name>
            <servlet-class>com.stono.servlet.listenerorder.SessionON</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>TestServlet2</servlet-name>
            <servlet-class>com.stono.servlet.listenerorder.SessionON2</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>TestServlet1</servlet-name>
            <url-pattern>/a.do</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>TestServlet2</servlet-name>
            <url-pattern>/b.do</url-pattern>
        </servlet-mapping>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

    Servlet:

    package com.stono.servlet.listenerorder;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class SessionON extends HttpServlet {
        private static final long serialVersionUID = 1L;
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            HttpSession session = req.getSession();
            // 如果客户端的cookie禁用,每次获得的session都是新的;在chrome Developer Tools中的Cookies界面可以看到没有request的JSESSIONID;
            // 判断获得的session是否是新的;
            boolean new1 = session.isNew();
            System.out.println("session is " + new1);
            PrintWriter writer = resp.getWriter();
            writer.println("com.stono.servlet.listenerorder.SessionON.doGet(HttpServletRequest, HttpServletResponse)");
            resp.encodeURL("a.do");
        }
    }
    package com.stono.servlet.listenerorder;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class SessionON2 extends HttpServlet {
        private static final long serialVersionUID = 1L;
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            // 获取已经存在的session;
            HttpSession session = req.getSession(false);
            // 这个session可能为null;
            boolean new1 = session.isNew();
            System.out.println("session is " + new1);
            PrintWriter writer = resp.getWriter();
            writer.println("com.stono.servlet.listenerorder.SessionON2.doGet(HttpServletRequest, HttpServletResponse)");
        }
    }
  • 相关阅读:
    SQLDirect 6.5 Source (Delphi 5-10.1 Berlin)
    中国自主X86处理器工艺跃进:国产28nm升级16nm(上海兆芯)
    底层库
    An Overview of Complex Event Processing2
    linux动态库编译和使用
    gulp
    Web前端性能优化
    ECLIPSE JSP TOMCAT 环境搭建
    项目架构mvc+webapi
    HTTP/1.1
  • 原文地址:https://www.cnblogs.com/stono/p/4861468.html
Copyright © 2011-2022 走看看