3 minute read

JSP - 3

  • 내장 객체
    • request
    • response
    • out
  • 폼 처리
    • form
    • input
    • select 등



내장 객체 개요

  • 내장 객체란,
    • JSP 페이지에서 사용하도록 JSP 컨테이너에 미리 정의된 객체
      • import문 없이 사용
      • 선언/객체 생성 없이 직접 호출
  • 내장 객체 종류
    • request: 웹 브라우저의 HTTP 요청 정보 저장
    • response: 웹 브라우저의 HTTP 요청에 대한 응답 정보 저장
    • out: JSP 페이지에 출력할 내용을 담고 있는 출력 스트림
    • 외 session, application, pageContext 등
  • 내장 객체 모두 jspService() 메서드 내부에 있음!!



내장 객체 - 1. request

  • request 내장 객체
    • 웹 브라우저에서 서버의 JSP 페이지로 전달하는 정보를 저장!
  • 요청(request) 파라미터 관련 메서드
    • 요청 파라미터
      • 사용자가 폼 페이지에 데이터를 입력 후 서버에 전송할 때 전달되는 정보 형태

        <name=vlaue> 형식으로 서버의 JSP 페이지로 전송

메서드 반환유형
getParameter(String name) String
getParameterValues(String name) String[]
getParameterNames() java.util.Enumeration
getParameterMap() java.util.Map


  • 요청 HTTP 헤더 관련 메서드
    • HTTP 헤더
      • 서버로 전송하는 부가적인 정보 뭉치
메서드 반환유형 설명
getHeader(String name) String 설정한 name의 헤더값
getHeaders(String name) Enumeration 설정한 name의 헤더 목록값
getHeaderNames() Enumeration 모든 헤더이름
getIntHeader(String name) int 설정한 name의 헤더값을 정수로
getDateHeader(String name) long 설정한 name의 헤더값을 시간값으로
getCookies() javax.servlet.http.Cookie 모든 쿠키값


  • 웹브라우저/서버 관련 메서드
    • getRemoteAddr(), getMethod() 등..

      IP주소, 콘텐츠 유형, URI 경로 등 출력 가능



내장 객체 - 2. response

  • response 내장 객체 (중요!!!)
    • 서버에서 웹 브라우저로 전달하는 정보(사용자 요청을 처리한 결과)를 저장
  • 페이지 이동 관련 메서드
    • 페이지 강제 이동 = ‘리다이렉션(redirection)’
    • sendRedirect(String url) : 설정한 페이지로 강제 이동
  • 응답 HTTP 헤더 관련 메서드
    • 응답하는 정보에 헤더를 추가하는 기능

      헤더 정보에는 주로 서버에 대한 정보가 저장되어 있음

    • add.. / set.. 등의 메서드

      쿠키 추가, 설정한 헤더에 여러 데이터 추가 및 설정

  • 응답 콘텐츠 관련 메서드
    • MIME 유형, 문자 인코딩, 오류 메시지 등을 설정/가져옴
    • setContentType, getCharacter, sendError 등



내장 객체 - 3. out

  • out 내장 객체
    • 서버에서 웹 브라우저로 데이터를 전송하는 출력 스트림 객체!

      표현문 태그, HTML, 일반 텍스트 등.. out 내장 객체 통해서 그대로 전달됨

  • 메서드
    • print, println, newLine, getBufferSize 등






폼 처리

  • 폼?
    • 사용자가 웹 브라우저를 통해 입력한 데이터를 한 번에 웹 서버로 전송하는 양식
      • 전송한 폼 데이터, JSP 컨테이너에서 처리
      • 처리 결과에 따라 다른 웹 페이지 보여줌
  • 폼을 구성하는 태그
    • form: 폼을 정의(최상위 태그)
    • input: 사용자가 입력할 수 있음
    • select: 항목을 선택
    • textarea: 여러 줄을 입력



폼 - 1. form 태그

  • 사용자가 다양한 정보를 입력하는 양식을 포함하는 최상위 태그
    • 단독 사용X
    • 속성들, 선택적으로 사용
  • form 태그 속성
    • action: 폼 데이터 받아서 처리하는 웹 페이지 url 설정
    • method: 폼 데이터 전송되는 HTTP 방식 설정
    • name: 폼 식별하는 이름 설정
    • 외 target, enctype, accept-charset



폼 - 2. input 태그

  • 사용자가 텍스트 입력이나 선택 등을 다양하게 할 수 있는 공간을 만듬
    • 종료 태그 없이 단독으로 사용 가능
  • input 태그 속성
    • text: 기본 값으로 한 줄의 텍스트 입력
    • radio: 라디오버튼으로 열거된 것 중 하나만 선택
    • checkbox: 체크박스로 열거된 것 중 다중 선택
    • password: 암호 입력용
    • button: 버튼 모양 출력
    • submit: 폼에 입력된 값 모두 서버로 전송
    • 등등



폼 - 3. select 태그

  • 여러 개의 항목이 나타나는 목록 상자에서 항목을 선택
    • 시작/종료 태그 있다
    • 리스트 박스에 항목 추가하기 위해 ‘option 태그’ 포함해야 함
  • select 태그 속성
    • name: 목록 상자의 이름 설정
    • size: 한 번에 표시할 항목 개수 설정
    • multiple: 다중 선택 가능하도록 설정(ctrl + 선택)
  • option 태그 속성
    • value: 항목의 값 설정
    • selected: 해당 항목을 초기값으로 선택
    • disabled: 항목을 비활성화



폼 - 4. textarea 태그

  • 여러 줄의 텍스트를 입력하는 공간
    • col=”너비 값”, rows=”높이 값” 속성 설정 필요
    • 입력 폼 안에 사용된 태그와 띄어쓰기가 그대로 출력됨!



폼 - 5. 폼 데이터 처리

  • 사용자가 폼 페이지에 입력한 데이터를 서버로 전달, 서버는 이를 처리!
    • JSP 에서 가장 많이 사용하는 기능 중 하나
  • 요청 파라미터 값 받기
    • String 변수 = request.getParameter(요청 파라미터 이름)
  • 요청 파라미터 전체 값 받기
    • getParameterNames: 모든 요청 파라미터 이름을 Enumeration 형태로 받음
    • hasMoreElements: Enumeration 요소 있으면 true, 아니면 false 반환
    • nextElement: Enumeration 요소 반환






과제

  • 5, 6단원 연습문제 / ~6/17(금)까지

  • 이형록_220519_JSP과제

  • 내용

    • 1~3번
      • 교재 읽고 답 찾기
      • 메모장에 타이핑
    • 4~6번
      • 교재 읽고 실습
      • 기본 소스 임포트 해서 확인
    • 7번
      • Book Market Mall 만들기 - 정답 소스 없음 (구글에 검색!!)
      • 수업용 예제, ‘Web Market Mall’ 참고!



Updated: