Session何时创建-实例

请先看我的另一篇博文:Session何时创建-原理http://blog.csdn.net/u010002184/article/details/79416043

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page session="false" %>  <%--注意这一句,很重要--%>


    IDEA搭建SpringMVC并用maven配置的小例子

<%----%>
<%----%>


用户名:
密码: <%----%>
<%----%>
package com.springmvc.controller;

/**
 * IDEA搭建SpringMVC并用maven配置的小例子
 */

import com.springmvc.entity.User;
import com.springmvc.service.UserService;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/user")
public class ViewController {
    private Logger logger = Logger.getLogger(ViewController.class);
    @Resource(name = "UserService")
    private UserService userService;

    @RequestMapping("/index")
    public String index(HttpServletRequest request, HttpServletResponse response) {
        logger.info("进入 index 方法");
        HttpSession httpSession = request.getSession();
        return "index";
    }
}

总结:
session不是一打开网站就会立刻建立。
它的建立需要基于下面两个条件中的任意一个:

1:在servlet中手动调用

HttpSession session = request.getSession();
或者
HttpSession session = request.getSession(true);
2:jsp中没有写<%@ page session="false"%>

(默认情况下它是<%@ page session="true"%>的)

如果两个条件同时都不满足,那么你建立的只是一个无seesion的连接。


【关于request.getSession() 与 request.getSession(true/false)有何区别?

详见:http://blog.csdn.net/u010002184/article/details/79413179】

1,第1次访问

Session何时创建-实例_第1张图片

Session何时创建-实例_第2张图片

1,第2次访问

Session何时创建-实例_第3张图片

Session何时创建-实例_第4张图片

2,第1次访问

Session何时创建-实例_第5张图片

Session何时创建-实例_第6张图片

2,第2次访问

Session何时创建-实例_第7张图片

Session何时创建-实例_第8张图片



你可能感兴趣的:(Java,SpringMVC,Spring,Servlet)