servletSession과 springSession
send.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="session">세션테스트1</a>
<a href="springSession">세션테스트2</a>
</body>
</html>
sessionView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
아이디: ${id} <br>
이름: ${name} <br>
className: ${ClassName} <br><br><br><br>
유저아이디: ${userId}<br>
유저이름: ${userName}<br>
클래스명: ${SpringCalssName}<br><br>
이동1: <a href="a1">이동1</a>
</body>
</html>
a1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
아이디: ${id} <br>
이름: ${name} <br>
className: ${ClassName} <br><br><br><br>
유저아이디: ${userId}<br>
유저이름: ${userName}<br>
클래스명: ${SpringCalssName}<br><br>
이동2: <a href="a2">이동2</a>
</body>
</html>
servletSession
package com.spring.sessionTest;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ServletSettion {
@RequestMapping("/send")
public String send(){
return "send";
}
@RequestMapping("/a1")
public String a1(){
return "a1";
}
@RequestMapping("/a2")
public String a2(){
return "a2";
}
@RequestMapping("/session")
public String session(Model model, HttpSession session){
session.setAttribute("id", "admin");
session.setAttribute("name", "홍길동");
model.addAttribute("ClassName", this.getClass());
return "sessionView";
}
}
springSession
package com.spring.sessionTest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
@Controller
@SessionAttributes({"userId","userName"})
public class SpringSession {
@RequestMapping("/springSession")
public String send(Model model){
model.addAttribute("userId", "userAdmin");
model.addAttribute("userName", "손예진");
model.addAttribute("SpringCalssName", this.getClass());
return "sessionView";
}
}
서블릿 세션은 아래 예제처럼 HttpSession 객체를 기입하고 session.setAttribute 로 세션을 작성한다.
@RequestMapping("/session")
public String session(Model model, HttpSession session){
session.setAttribute("id", "admin");
session.setAttribute("name", "홍길동");
model.addAttribute("ClassName", this.getClass());
결과: 확인을 해보면 ServletSession 이라고 보인다.
아이디: admin
이름: 홍길동
className: class com.spring.sessionTest.ServletSettion
스프링세션은 아래예제처럼 @SessionAttrinutes 어노테이션으로 작성한다.
또한 model 객체를 그래도 받아서 작성하면 세션이 생성된다.
세션 여러개를 만들고 싶다면 @SessionAttributes ()속에 { } 안에 순차적으로 넣어주면 된다.
@Controller
@SessionAttributes({"userId","userName"})
public class SpringSession {
@RequestMapping("/springSession")
public String send(Model model){
model.addAttribute("userId", "userAdmin");
model.addAttribute("userName", "손예진");
model.addAttribute("SpringCalssName", this.getClass());
return "sessionView";
}
}
결과: 아래처럼 SpringSession 이라고 뜬다.
유저아이디: userAdmin
유저이름: 손예진
클래스명: class com.spring.sessionTest.SpringSession
'기존카테고리 > Spring_문법' 카테고리의 다른 글
스프링 DI - 자바코드 설정 (0) | 2017.07.23 |
---|---|
스프링 DI(Dependency Injection) 2 (0) | 2017.07.23 |
스프링 DI(Dependency Injection) 1 (0) | 2017.07.23 |
Parameter값 받기 - 실전(Command객체) (0) | 2017.07.13 |
Parameter값 받기 - 기초(@RequestParam) (0) | 2017.07.13 |