Spring MVC - ApplicationScope
2020. 9. 14. 19:20ㆍJava/Spring
반응형
ApplicationScope
- 서버가 실행되고 종료되기까지의 생명주기를 갖는다.
ApplicationScope는 request 객체에서 가져와서 사용해야 한다.
아래와 같이 사용을 원하는 곳에서 request 객체를 매개변수로 받아와 application 객체를 받아온다.
@Controller
public class TestController {
@GetMapping("/test1")
public String test1(HttpServletRequest request) {
ServletContext application = request.getServletContext();
application.setAttribute("data1","문자열1");
return "test1";
}
@GetMapping("/result1")
public String result1(HttpServletRequest request) {
ServletContext application = request.getServletContext();
String data1 = (String)application.getAttribute("data1");
System.out.println("data1"+data1);
return "result1";
}
}
위에서 set 된 데이터는 서버를 생명주기로 갖으므로 다른 브라우저를 실행시켜도 해당 값이 저장되어 있는다.
ServletContext
ServletContext를 @Autowired를 통해 주입 받아서 applicationscope를 사용 가능하다.
@Controller
public class TestController {
@Autowired
ServletContext application;
@GetMapping("/test1")
//public String test1(HttpServletRequest request) {
public String test1() {
//ServletContext application = request.getServletContext();
application.setAttribute("data1","문자열1");
return "test1";
}
@GetMapping("/result1")
//public String result1(HttpServletRequest request) {
public String result1() {
//ServletContext application = request.getServletContext();
String data1 = (String)application.getAttribute("data1");
System.out.println("data1"+data1);
return "result1";
}
}
원래 코드를 위와 같이 수정하여 사용하면 applicationScope가 적용된다.
* 객체를 가져와서 applicationScope에 담는 것은 sessionScope와 동일하기에 생략합니다.
반응형
'Java > Spring' 카테고리의 다른 글
Spring MVC - Properties (0) | 2020.09.15 |
---|---|
Spring MVC - Cookie (0) | 2020.09.14 |
Spring MVC - SessionScope (0) | 2020.09.13 |
Spring MVC - RequestScope 빈 주입 (0) | 2020.09.11 |
Spring MVC - RequestScope (0) | 2020.09.11 |