■ 수업 파일
02_JSP/src/main/webapp/views/
- objects : JSP 내장 객체
- directive : 지시자 태그
- common : include 지시자 header, footer
- error : 에러 페이지
- webapp/views/objects/redirect.jsp : 다른 페이지로 전송하는 메소드
- webapp/views/objects/redirect_target.jsp : redirect로 전송받은 메소드
■ JSP 내장 객체(= 묵시적 객체)
- 내장 객체 : JSP가 자바 코드로 생성될 때 자바 파일에 자동으로 추가되는 객체
- 개발자가 객체 선언하지 않고 바로 사용
- 내장 객체와 동일한 이름으로 변수 선언 시 에러 발생함
1. request : 웹 브라우저의 요청 정보를 가지고 있는 객체이다.
2. response : 웹 브라우저의 요청에 대한 응답 객체이다.
3. out : 클라이언트와 연결되어 있는 출력 스트림 객체이다.
4. session : 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체이다.
5. application : 웹 애플리케이션(컨텍스트)의 실행 환경을 제공하는 서버의 정보와 서버 측 자원에 대한 정보를 저장하고 있는 객체이다.
6. page : JSP 페이지를 구현한 서블릿 인스턴스 자체를 참조하는 객체이다. (자기 자신에 대한 참조)
7. pageContext : JSP와 관련된 다른 내장 객체를 얻어내거나 현재 페이지의 요청과 응답의 제어권을 다른 페이지로 넘겨주는데 사용하는 객체이다.
8. config : JSP 페이지에 대한 설정 정보를 저장하고 있는 객체이다. (자주 사용하지 않음)
9. exception : JSP 페이지에서 예외가 발생하였을 때 에러 페이지에 전달되는 예외 객체이다.
1. request 객체
- main/webapp/views/objects/index.jsp
1) 헤더 관련 메소드
- request.getHeaderNames() : 헤더 이름 가져오는 메소드
- names.hasMoreElements() : Enumertation 인터페이스 메서드, 요소 있으면 true, 없으면 false
-> 헤더 이름 다 가져와라
- while문 중괄호 중간에 끊어서 표 자동으로 반복하여 만들어지게 함

- host : 서버 이름
- user-agent : 브라우저에 대한 정보
- accept : 브라우저에서 처리할 수 있는 유형
- accept-encoding : 브라우저에서 처리할 수 있는 압축 처리
- accept-language : 브라우저에서 지원하는 언어
2) URL/URI, 요청 방식 관련 메소드

- URL : http (프로토콜) ://localhost (도메인, IP):8090 (서버의 포트번호)/02_JSP(contextRoot)/views/objects/ (URI)
- URI : URL 포트번호 이후 (contextPath 부터 현재 문서를 찾기위한 경로 )
- contextPath(웹 애플리케이션 경로) : /02_JSP (프로젝트명)
- 클라이언트의 IP 주소 : 로그 남기기 위해 사용함
2. response 객체
- webapp/views/objects/redirect.jsp
- webapp/views/objects/redirect_target.jsp
1) Redirect 메소드
<% response.sendRedirect("redirect_target.jsp"); %>
- sendRedirect(String url);
- 로그인 후 홈으로 갈 때 자주 사용한다.
- 매개값으로 지정한 URL로 요청을 재전송한다.
- 요청과 응답객체를 새로 생성하여 이전 요청과 응답 정보는 유지되지 않는다.
→ 브라우저에 표시되는 주소가 변경된다.
→ <a href="redirect.jsp">Redirect 테스트</a> 로 호출하였으나
실제 URL은 http://localhost:8090/02_JSP/views/objects/redirect_target.jsp
3. pageContext 객체
- webapp/views/objects/forward.jsp
- webapp/views/objects/forward_target.jsp
1) Forward 메소드
<% pageContext.forward("forward_target.jsp"); %>
- forward(String url);
- 매개값으로 지정한 URL로 요청과 응답에 관한 제어권을 영구적으로 넘긴다.
- 현재 페이지의 요청과 응답 정보를 다른 페이지로 넘기기 때문에 요청 정보와 응답 정보가 유지된다.
→ 브라우저에 표시되는 주소가 유지된다.
※ redirect 와 forword 비교

| redirect | forward | |
| 요청 횟수 | 2번 | 1번 |
| 브라우저 주소(요청 URL) | 변경됨 | 변경 안됨 |
4. session 객체
- Redirect 메소드

5. application 객체
- Redirect 메소드
■ JSP 내장 객
5. 영역 객체
1) HttpServletRequest
- 클라이언트 → 서버
- 요청 정보를 제공하는 객체 (파라미터, 헤더 정보)
'국비과정 > Backend' 카테고리의 다른 글
| 국비 75일차 - [JSTL] JSP 액션 태그, 표준 액션 태그, JSTL(Core Tag) (0) | 2022.07.13 |
|---|---|
| 국비 74일차 - [EL] 내장 객체, 연산자 (0) | 2022.07.12 |
| 국비 72일차 - [JSP] JSP 요소(지시자, 선언문, 스크립트릿, 표현식 태그), Git 웹프로젝트 인식 방법 (0) | 2022.07.08 |
| 국비 71일차 - [Servlet] 서블릿, 서블릿 생명주기, HTTP 요청 처리 (0) | 2022.07.07 |
| 국비 70일차 - [평가] 요구사항 확인 (0) | 2022.07.06 |
댓글