반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리눅스셋팅
- 리눅스세팅
- isinterrupted()
- interrupted()
- 상관서브쿼리
- String char[] 형변환
- ObjectInputStream
- MemoryStream
- char[] String 형변환
- 스레드그룸
- ThreadGroup()
- 동기화
- StringWriter
- Linux셋팅
- 표현 언어
- first-of-child
- interrupt()
- include 지시자
- 메모리스트림
- include지시자
- 상관 서브 쿼리
- 아이디중복
- sleep()메소드
- include액션태그
- first-child
- Linux세팅
- InputDialog
- ID중복
- StringReader
- Daemon()
Archives
- Today
- Total
다연이네
[days04] 웹 어플리케이션의 4가지의 영역(scope) 본문
반응형
웹 어플리케이션의 4가지의 영역(scope)
1. page scope - 하나의 JSP 페이지에서만 사용할 수 있는 영역 (pageContext 기본 객체)
2. request scope - 하나의 요청[request]에서만 사용할 수 있는 영역 (request 기본 객체)
3. session scope - 하나의 웹 브라우저에서 사용할 수 있는 영역 (session 기본 객체)
4. application scope - 웹 어플리케이션(웹사이트) 영역 (application 기본 객체)
setAttribute()
getAttribute()
removeAttribute()
getAttributenames() - 모든 속성 목록 얻어오기 (pageContext 제공x)
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ex06_02.jsp</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="">
<style>
</style>
<script>
$(document).ready(function (){
});
</script>
</head>
<body>
<%
String name = "admin";
pageContext.setAttribute("user_name", name);
//현재 페이지에서만 user_name 사용
pageContext.getAttribute("user_name"); //같은 페이지에서는 가져와서 써도 됨
//다른 페이지로 가게 되면 인식 불가
int age = 20;
request.setAttribute("age", age);
String addr = "경기도 남양주 호평동";
session.setAttribute("addr", addr);
//세션이 죽기 전까지는 기억하겠다
application.setAttribute("passwd", "1234");
//웹사이트가 죽기 전까지 다른 사람도 접근 가능하고 살아있음
//모든 클라이언트들이 공유해서 사용할 (톰캣이 죽기 전까지는) 값
//여기에 무조건 담아두면 서버 성능 떨어질 수밖에 (+세션도)
String path = "ex06_ok.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(path);
dispatcher.forward(request, response);
%>
</body>
</html>
ex06_ok.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ex06_ok.jsp</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="">
<style>
</style>
<script>
$(document).ready(function (){
});
</script>
</head>
<body>
<h3>ex06_ok.jsp</h3>
user_name : <%=request.getAttribute("user_name") %><br>
<!-- 코딩 오류는 안나지만 인식 못함 (pageContext : 해당 페이지에서만 사용 가능) -->
age : <%=request.getAttribute("age") %><br>
addr : <%=session.getAttribute("addr") %><br>
passwd : <%=application.getAttribute("passwd") %><br>
<a href="ex06.jsp">ex06.jsp</a>
</body>
</html>
ex06.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="">
<style>
</style>
<script>
$(document).ready(function (){
});
</script>
</head>
<body>
<h3>ex06</h3>
age : <%=request.getAttribute("age") %><br>
<!-- 새로운 요청이 일어나면 유지가 안되기 때문에 null 나온다 -->
addr : <%=session.getAttribute("addr") %><br>
<!-- 세션에 담으면 브라우저가 닫히기 전에는 사라지지 않는다
(언제 정확히 닫히는지 모른다=> 강제 세션 종료 코딩 전에는 모름 (기본20분)) -->
passwd : <%=application.getAttribute("passwd") %><br>
</body>
</html>
반응형
'JSP' 카테고리의 다른 글
[days05] 페이지 모듈화 - <%@include %>지시자와 <jsp:include>액션태그 (0) | 2020.12.29 |
---|---|
[days05] JSP 예외처리 (0) | 2020.12.29 |
[days04] JSP 기본 내장 객체 1. request 2. response 3. out 4. pageContext 5. application (0) | 2020.12.28 |
[days04] 출력 버퍼, 배포 (0) | 2020.12.28 |
[days04] 해당 사원 정보 테이블로 출력, 버튼 클릭시 사원번호 넘기기 (0) | 2020.12.28 |
Comments