javaee springMVC session的使用

controller

java 复制代码
package com.test.controller;

import com.test.pojo.Address;
import com.test.pojo.Users;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/users")
//指定放入model中的某个变量 存入session中
@SessionAttributes(value="sessionUser2")
public class UsersController {

   

    //存入session方式1:原生session
    @RequestMapping("/getUser6")
    public String getUser6(HttpServletRequest request)
    {
        Users user=new Users(6,"daimenglaoshi6","888",new Address(1,"shanghai"),new Date(),888888);

        HttpSession session= request.getSession();

        session.setAttribute("sessionUser",user);

        return "showSessionUser";
    }

    //存入session方式2:用注解的方式  @SessionAttributes(value="sessionUser2")
    @RequestMapping("/getUser7")
    public ModelAndView getUser7() {

        ModelAndView modelAndView=new ModelAndView();

        Users user=new Users(7,"daimenglaoshi7","888",new Address(1,"shanghai"),new Date(),888888);

        modelAndView.addObject("sessionUser2",user);

        modelAndView.setViewName("showSessionUser2");

        return modelAndView;
    }

    @RequestMapping("/destroySession")
    public String destroySession(HttpServletRequest request){

          HttpSession session= request.getSession();

          //销毁session
          session.invalidate();

          return "showDestroySession";
    }


  

   






}

jsp

html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: HIAPAD
  Date: 2019/12/5
  Time: 19:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${sessionScope.sessionUser.uname}<br/>

${sessionScope.sessionUser2.uname}<br/>
</body>
</html>
html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: HIAPAD
  Date: 2019/12/5
  Time: 19:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${sessionUser.uname}
</body>
</html>
html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: HIAPAD
  Date: 2019/12/5
  Time: 19:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${sessionScope.sessionUser2.uname}
</body>
</html>

两种方式存储session

方式一

原生方式

方式二

注解方式

推荐

推荐使用原生方式,因为经过测试,销毁方法只能销毁原生方式创建的session

相关推荐
房开民8 小时前
c++总结
java·开发语言·c++
好大哥呀8 小时前
C++ 多态
java·jvm·c++
毕设源码-赖学姐8 小时前
【开题答辩全过程】以 基于Java的医院器材管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
float_com8 小时前
【java常用API】----- Arrays
java·开发语言
LuckyTHP10 小时前
迁移shibboleth java获取shibboleth用户信息
java·开发语言
客卿12310 小时前
数论===质数统计(暴力法,)
java·开发语言
华科易迅10 小时前
Spring 事务(注解)
java·数据库·spring
写代码的小阿帆10 小时前
Web工程结构解析:从MVC分层到DDD领域驱动
java·架构·mvc
东离与糖宝10 小时前
Java 26+Spring Boot 3.5,微服务启动从3秒压到0.8秒
java·人工智能
禹中一只鱼11 小时前
【力扣热题100学习笔记】 - 哈希
java·学习·leetcode·哈希算法