참조형(배열도 참조형)

HttpServletRequest   변수이름:request
HttpServletResponse 변수이름:response
HttpSession 변수이름:session

설계도 -----생성----------데이터----------------> 변수
생성된 데이터,즉 데이터로 바뀐 설계도->인스턴스(instance)

 

기본형
byte,short,int,long,float,double,char,boolean 

데이터----------------------------------------------> 변수

 

기존의 페이지 전환방법 : 

</form action="abc.jsp">
</input type="submit" value="확인">


<a href="abc.jsp">누르세요</a>

 

프로그램으로 페이지를 전환하는 방법
Redirect : 사용하는 객체 HttpServletResponse
웹서버가 생성해서 response변수에 데이터를 넣는다.
response.sendRedirect("abc.jsp");

Forward : 사용하는 객체 RequestDispatcher
개발자가 생성해서 개발자가 만든 변수에 데이터를 넣는다.

RequestDispatcher a = response.getRequestDispatcher("목적지.jsp");
a.forward(request,response);

 

Redirect vs Forward
브라우저의 주소창의 내용
A.jsp---get/post-------->B.jsp-------Redirect----->C.jsp
         브라우저의 주소창:C.jsp
         브라우저의 내용:C.jsp의 내용
         브라우저에서 새로고침을 누른다.
--->C.jsp가 다시 실행된다.

A.jsp---get/post-------->B.jsp-------Forward----->C.jsp
          브라우저의 주소창:B.jsp
         브라우저의 내용:C.jsp의 내용
         브라우저에서 새로고침을 누른다.
--->B.jsp가 다시실행된다.

 

요청이 웹서버로 들어왔을 때, 로그인한 상태에서의 요청인지,
로그인하지 않은 상태에서의 요청인지를 구분하자.

저장소를 만들어서, 로그인 성공한 경우 저장소에 특정데이터(일반적으로 계정)을 
저장한다.
그래서, 요청이 들어올 때 마다 저장소를 검사해서 특정데이터가 있으면 로그인한 상태
에서의 요청으로 판단한다. 
요청이 들어왔는데 저장소를 검사해서 특정데이터가 없으면, 로그인하지 않은 상태에서
의 요청으로 판단한다.
저장소에 특정데이터를 넣는 방법(method):setAttribute()
-> session.setAttribute("이름", 특정데이터);
저장소에서 특정데이터를 빼는 방법(method):getAttribute()

A설계도(RequestDispatcher) -----response.getRequestDispatcher("목적지.jsp")----->데이터
생성하는 방법(method)이 B설계도에 있다.
B설계도(HttpServletRequest) ------------생성--------------->데이터-->변수(response)




 

Posted by webpage
,