Today I Learned - 29
JSP - 3
- 내장 객체
- request
- response
- out
- 폼 처리
- form
- input
- select 등
내장 객체 개요
- 내장 객체란,
- JSP 페이지에서 사용하도록 JSP 컨테이너에 미리 정의된 객체
- import문 없이 사용
- 선언/객체 생성 없이 직접 호출
- JSP 페이지에서 사용하도록 JSP 컨테이너에 미리 정의된 객체
- 내장 객체 종류
- 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 헤더
- 서버로 전송하는 부가적인 정보 뭉치
- 서버로 전송하는 부가적인 정보 뭉치
- 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 경로 등 출력 가능
- getRemoteAddr(), getMethod() 등..
내장 객체 - 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’ 참고!
- 1~3번