[JSP] 기본객체

dooboocookie·2022년 9월 29일
0

JSP/Sevlet

목록 보기
2/4

기본 객체

  • JSP가 어플리케이션 기능 구현에 필요한 기능을 제공하는 기본 객체

request

  • 클라이언트의 요청한 서버와 관련된 정보를 저장하는 객체
    • 파라미터
    • 헤더
    • 쿠키 정보
    • ...
  • 메소드 request객체의 메소드
    .getContextPath() 어플리캐이션의 컨텍스트 경로를 가져와서 반환
    .getRemoteAddr() 클라이언트의 IP주소를 가져와서 반환
    .getMethod() 클라이언트가 전송 요청할 떄, 전송 방식(get,post)을 가져와 반환
    .getRequestURL() 클라이언트가 전송 요청한 URL을 가져와 반환
    .getRequestURI() 클라이언트가 전송 요청한 URI을 가져와 반환
  • 웹 브라우저가 전송한 파라미터를 읽어올 수 있는 메서드
    메소드 내용
    .getParameter() 기능 : 매개변수로 받은 파라미터의 값을 반환
    매개변수 : String 파라미터의 이름
    리턴 : String 파라미터의 값
    .getParameterValues() 기능 : 매개변수로 받은 파라미터의 값들을 모두 반환
    매개변수 : String 파라미터의 이름
    리턴 : String[] 파라미터의 값을 담은 배열
    .getParameterNames() 기능 : 웹 브라우저가 요청한 파라미터의 이름을 반환
    매개변수 : -
    리턴 : Enumeration 파라미터의 이름을 담은 열거자
    .getParameterMap() 기능 : 웹 브라우저가 요청한 파라미터의 이름과 그 값을 반환
    매개변수 : -
    리턴 : Map 파라미터의 이름을 키 값, 값을 밸류로하는 맵을 반환

response

  • 웹 브라우저로 응답하는 정보를 담는 객체
  • 주요 기능
    • 응답 헤더 정보 입력
    • 리다이렉트 기능

리다이렉트

  1. URL을 통하여 서버에 요청
  2. 해당 서버에서 다른 URL을 포함한 응답
  3. 응답을 받은 브라우저가 다른 웹 컨테이너에서 응답 받은 새로운 URL로 요청
  4. 새로운 URL에서 응답 받음

  • 리다이렉트될 떄는 웹 컨테이너가 바뀌기 떄문에 새로운 request, response 객체를 생성

포워딩

  1. URL을 통하여 서버에 요청
  2. 동일한 웹 컨테이너에서 해당 요청을 서버의 다른 자원으로 전달
  3. 클라이언트는 그 자원이 주는 응답을 받음

  • 요청한 URL 경로는 바뀌지 않기 때문에 웹 브라우저에서 확인 불가
  • 같은 웹 컨텡이너에서 일어나기 때문에 request, response를 공유

인코딩 디코딩

  • UTF-8 : 한글 지원(3바이트)

out

  • jsp 페이지의 변수와 같은 값들을 출력하는데 사용하는 객체
  • 출력 스트림

메소드

  • .append()
  • .print() / println()
    • 내용을 출력하는 메소드
    • ln은 "\r\n"이므로 html에서는 개행이 안됨

버퍼 관련 메소드

  • .getBufferSize()
    • 출력 버퍼의 크기를 반환하는 메소드
      • 지시자에서 buffer="8kb"로 주면 8kb로 설정
    • 매개변수 : -
    • 리턴 : int (출력 버퍼, 바이트 단위)
  • .clearBuffer()
    • 출력 버퍼의 저장된 내용을 클리어 시키는 메소드
    • 매개변수 : -
    • 리턴 : void
  • .getRemaining()
    • 출력 버퍼의 남은 내용을 바이트 단위로 반환하는 메소드
    • 매개변수 : -
    • 리턴 : int
  • .flush()
    • 현재 버퍼의 내용을 flush(출력)하는 메소드
    • 매개변수 : -
    • 리턴 : void
  • .isAutoFlush()
    • 출력 버퍼의 용량이 다 차서 자동으로 flush되었는지를 확인하는 메소드
    • 매개변수 : -
    • 리턴 : boolean

pageContext

  • pageContext객체는 jsp 페이지의 정보를 나타내는 객체
    • 이 객체를 통하여 다른 기본 객체에 접근할 수 있음
  • 속성 처리 가능
  • 페이지 흐름 제어
  • 에러 데이터

다른 기본 객체로 접근

  • pageContext.getRequest().getParameter("name");
  • pageContext.getResponse();
  • pageContext.getOut();
  • pageContext.getSession();

application

  • 웹 애플리케이션과 관련된 정보를 나타내는 객체
    • 한 어플리케이션 안의 모든 jsp 페이지에서 공유하는 1개의 객체
    • 모든 jsp 페이지에서 공유하는 정보를 저장/읽기

< context-params>

  • web.xml에 해당 태그를 추가하여 웹 어플리케이션의 전반적인 환경설정 정보를 저장
  • .getInitParameter(String pname)
    • web.xml에 설정된 파라미터 pname의 값을 반환
    • 매개변수 : String
    • 리턴 : String, 파라미터 밸류
  • .getRealPath(String url)
    • url을 실제 배포 경로로 반환
    • 매개변수 : String
    • 리턴 : String, 배포 경로
<!--web.xml-->
    <context-param>
        <description>파일 경로</description>
        <param-name>filePath</param-name>
        <param-value>/test</param-value>
    </context-param>
<%
    // .jsp 파일
    String filePath = application.getInitParameter("filePath");
    String realPath = application.getRealPath(filePath);
    // /Users/hwan/Class/JSPClass/jspPro/target/jspPro-1.0-SNAPSHOT/test
%>

기본 객체의 영역

영역 내용
application 웹 어플리케이션 전체에서 사용되는 영역
session 하나의 브라우저에서 사용되는 영역
request 하나의 요청 처리할 때 사용되는 영역
포워딩 시, 요청이 하나이므로 영역에 속하게 됨
page 하나의 jsp 페이지를 처리할 때 사용되는 영역
profile
1일 1산책 1커밋

0개의 댓글