application
어플리케이션 내장객체는 서버의 정보를 저장하고, 서버가 동작해야 어플리케이션 내장객체가 자동으로 생성되어
기억장소를 할당한다.
보통 서버의 정보를 저장하고 서버를 멈추면 기억장소도 바로 해제된다.
서버정보 : <%=application.getServeInfo() %>
서버의 물리적인 경로 : <%=application.getRealPath("\")%>
pageContext
현페이지 정보를 저장하는 내장객체 페이지가 보이면 만들어지고 다음 페이지로 바뀌면 사라짐.
session
클라이언트와 서버 간의 연결 정보를 저장한 객체다. 클라이언트가 페이지를 요청하러 갈 때,
서버와 연결이 되면 연결정보를 저장하는 session이라는 내장객체가 생성된다(기억장소가 할당)
서버에서 세션 기억장소를 없애는 법
1. 30분동안 서버와 클라이언트 간에 작업이 없다 => 세션 기억장소가 없어짐(해제)
2. 브라우저를 모두 닫으면 없어짐
3. 세션 기억장소를 없애는 명령을 실행 => 로그아웃 session.invalidate();
세션 ID값 확인 : <%=session.getId()%><br>
세션 ID값 생성 시간 : <%=session.getCreationTime() %><br>
세션 ID값 마지막으로 접근한 시간: <%=session.getLastAccessedTime() %><br>
세션 유지 시간 : <%=session.getMaxInactiveInterval() %>초<br>
세션 유지 시간 3600초 1시간 변경 :
"ses1" 세션값 하나만 삭제
<%= session.removeAttribute("ses1");%>
삭제하고 이동하기 (sessionTest.jsp)
<%=session.removeAttribute("ses1");%>
<script type="text/javascript">
alert("이동한다");
location.href="sessionTest.jsp";
</script>
세션값 전체 삭제
<%= session.invalidate(); %>
세션값 생성하고 가져오기
<%
session.setAttribute("ses1","session1");
session.setAttribute("ses2","session2");
%>
세션값1 : <%=session.getAttribute("ses1");
세션값2 : <%=session.getAttribute("ses2");
-------------
영역 | 영역 객체 | 속성 유지 범위 |
page | pageContext | 현 페이지만 유지 |
request | request | 요청 페이지만 있으면 유지 |
session | session | 페이지 상관없이 연결만 되있으면 유지 |
application | application | 페이지 상관없이 서버가 동작하면 유지 |
- 내장객체에 속성값을 저장. 모든 형 저장 가능
내장객체.setAttribute("속성이름",값);
pageContext.setAttribute("page","pageContext value");
request.setAttribute("req", "request value");
session.setAttribute("ses", "session value");
application.setAttribute("app", "application value");
-내장객체에 속성값을 가져오기
내장객체.getAttribute("속성이름");
아이디 : <%=id %><br>
pageContext 속성값 : <%=pageContext.getAttribute("page") %><br>
request 속성값 : <%=request.getAttribute("req") %><br>
session 속성값 : <%=session.getAttribute("ses") %><br>
application 속성값 : <%=application.getAttribute("app") %><br>
-내장객체 기억장소 중에 속성값 하나를 삭제
내장객체.removeAttribute("속성이름");
이동하는 방법 3가지
1. <a>태그
<a href="scopePro.jsp></a>
2. 자바스크립트
location.href=""
3. response.sendRedirect
response.sendRedirect();
forward 액션태그
jsp코드를 <%%>에 넣지않고 태그처럼 이용할 수 있도록 하는 문법
<jsp:forward page=""/> 바로 이동시킴
include 액션태그
반복되는 부분을 파일로 만들고 반복되는 곳에 파일을 넣기! 파일 하나만 수정하면 모든 페이지 수정이 가능
<jsp:include page="include_top.jsp">
<jsp:param name="id" value="kim"/>
</jsp:inclide>
한줄로 끝나면 /> 로 마무리
그러면 "include_top.jsp"에서만 문서를 수정하면 저 코드가 존재하는 모든 페이지에서
내용 수정이 가능하다!!
'develop > JSP' 카테고리의 다른 글
내장 객체 - request,response,out (0) | 2021.01.26 |
---|