HttpSession session = request.getSession(false); 
System.out.println(session);
我在login.jsp页面 第一次输出的是null,在刷新一下  可以得到session 如下:
org.apache.catalina.session.StandardSessionFacade@161100c 在关闭页面 没有session 刷新又这样
为什么会这样啊   ?????
    

解决方案 »

  1.   

    HttpSession session = request.getSession(true); 
      

  2.   

    UP  学习下 ,,
    那个设置TRUE和FALSE有什么区别?能解释下嘛?
      

  3.   

    获得当前request关联的session,设为true,在没有可用的session时新创建一个;false则不新建,而返回null。
      

  4.   

    HttpSession session = request.getSession(true); 
    都可以得到session
      

  5.   

    获得当前request关联的session,设为true,在没有可用的session时新创建一个;false则不新建,而返回null。
      

  6.   


    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    // TODO Auto-generated method stub
    HttpServletRequest req=(HttpServletRequest)request;
    HttpServletResponse res=(HttpServletResponse)response;
    SysUser sysUser=(SysUser)req.getSession().getAttribute("login");
            if(sysUser==null)
            {
             res.sendRedirect(req.getContextPath()+"/login.jsp");
             return;
            }
            else
            {
        chain.doFilter(req, res);
            }
    }
      

  7.   

      <filter>
          <filter-name>loginFilter</filter-name>
          <filter-class>com.customer.util.LoginFilter</filter-class>
      </filter>
      <filter-mapping>
          <filter-name>loginFilter</filter-name>
          <url-pattern>/jsp/*</url-pattern>
      </filter-mapping>
      

  8.   

    记住login.jsp在文件夹jsp的外面
    也就是说此过滤器过滤后台jsp文件夹下的所用网页
      

  9.   

    getSession都是返回当前用户的会话对象,参数的区别在于
    参数为true,则如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回
    参数为false,则如果“当前用户的会话对象”为空,则返回null(即不自动创建会话对象)
      

  10.   

     String name=(String)req.getSession().getAttribute("username");
    我是这样弄得  登陆的session (用户名) 来判断是否登陆