IT/Jsp

jsp - scope (page, request, session, application)

노마드오브 2018. 9. 12. 22:27

파일명 : scopeForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>scopeForm.jsp 페이지</h1>

<hr>

<%

/*

영역           jsp내장객체이름     객체유지범위(scope)

page          pageContext     현재페이지 당 1개

request       request         요청 당 1개

session       session         클라이언트 당 1개. 접속유지용도

application   application     프로그램 당 1개 유지

*/

%>

<form action="scopePro.jsp" method="post">

아이디: <input type="text" name="id"><br>

<input type="submit" value="전송">

</form>

</body>

</html>



파일명 : scopePro.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>scopePro.jsp 페이지</h1>

<hr>

<%

String id = request.getParameter("id");

// 영역객체  (Map 자료구조)

// 모든 자료형의 데이터 저장 가능

pageContext.setAttribute("page", "page 값");

request.setAttribute("req", "req 값");

session.setAttribute("ses", "ses 값");

application.setAttribute("app", "app 값");

%>

파라미터 "id" 값: <%=id %><br>


pageContext 속성값: <%=pageContext.getAttribute("page") %><br>

request 속성값: <%=request.getAttribute("req") %><br>

session 속성값: <%=session.getAttribute("ses") %><br>

application 속성값: <%=application.getAttribute("app") %><br>



<a href="scopeProPro.jsp?id=<%=id %>&pwd=1111">scopeProPro.jsp로 이동</a>


<script>

alert('이동');

location.href = 'scopeProPro.jsp?id=<%=id %>&pwd=1111';

</script>

<%

// response.sendRedirect("scopeProPro.jsp?id="+id+"&pwd=1111");


// 이동 - 액션태그 forward

// fowarding 이동시

// A -> B 이동시

//   A의 request 객체가 그대로 B에서 사용됨!

%>

<jsp:forward page="scopeProPro.jsp">

<jsp:param value="1111" name="pwd"/>

</jsp:forward>


</body>

</html>



파일명 : scopeProPro.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>scopeProPro.jsp 페이지</h1>

<hr>

<%

String id = request.getParameter("id");

%>

파라미터 "id" 값: <%=id %><br>

파라미터 "pwd" 값: <%=request.getParameter("pwd") %><br>

pageContext 속성값: <%=pageContext.getAttribute("page") %><br>

request 속성값: <%=request.getAttribute("req") %><br>

session 속성값: <%=session.getAttribute("ses") %><br>

application 속성값: <%=application.getAttribute("app") %><br>


</body>

</html>