티스토리 뷰

정리 노트/JSP

9주차-3일

eyoadgkn 2023. 12. 6. 11:19

response 내장 객체의 기능과 사용법

response 내장 객체는 사용자의 요청을 처리한 결과를 서버에서 웹 브라우저로 전달하는 정보를 저장합니다.
즉 서버는 응답 헤더와 요청 처리 결과 데이터를 웹 브라우저로 보냅니다.
JSP 컨테이너는 서버에서 웹 브라우저로 응답하는 정보를 처리하기 위해서 response 내장 객체를 사용해 사용자의 요청에 응답합니다.

1. 페이지 이동 관련 메서드

사용자가 새로운 페이지를 요청할 때와 같이 페이지를 강제로 이동하는 것을 redirection 이라고 합니다. 
서버는 웹 브라우저에 다른 페이지로 강제 이동하도록 response 내장 객체의 redirection 메서드를 제공합니다.
*페이지 이동시에는 문자 인코딩에 알맞게 설정을 해야합니다.

페이지 이동 관련 메서드 종류
페이지 이동 관련 메서드 반환 유형 설명
sendRedirect(String url) void 설정한 URL 페이지로 강제 이동합니다.
2. 응답 HTTP 헤더 관련 메서드

응답 HTTP 헤더관련 메서드는 서버가 웹 브라우저에 응답하는 정보에 헤더를 추가하는 기능을 제공합니다. 헤더 정보에는 주로 서버에 대한 정보가 저장되어 있습니다.

응답 HTTP 헤더 관련 메서드의 종류
응답 HTTP 헤더 관련 메서드 반환 유형 설명
addCookie(Cookie cookie) void 쿠키를 추가합니다.
addDateHeader(String name, long date) void 설정한 헤더 이름 name에 날짜/시간을 추가합니다.
addHeader(String name, String value) void 설정한 헤더 이름 name에 정수 값 value를 추가합니다.
setDateHeader(String name, long date) void 설정한 헤더 이름 name에 날짜/시간을 설정합니다.
setHeader(String name, String value) void 설정한 헤더 이름 name에 문자열 값 value를 설정합니다.
setIntHeader(String name, int value) void 설정한 헤더 이름 name에 정수 값 value를 설정합니다.
containsHeader(String name) boolean 설정한 헤더 이름 name이 HTTP 헤더에 포함되었는지 여부를 확인합니다. 포함이 되었다면 true, 아니면 false를 반환합니다.
getHeader(String name) String 설정한 헤더 이름 nsme 값을 가져옵니다.


<%@page import="javax.security.auth.Refreshable"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p>이 페이지는 5초마다 새로고침이 됩니다.
	<%
		//setIntHeader = 설정한 헤더 이름 name에 정수 값 value를 설정.
		//Refresh를 5초에 한번씩 실행하도록 설정.
		response.setIntHeader("Refresh", 5);
	%>
</body>
</html>​
3.응답 콘텐츠 관련 메서드

response 내장 객체는 웹 브라우저로 응답하기 위해서 MIME 유형 , 문자 인코딩, 오류 메세지, 상태 코드 등을 설정하고 가져오는 응답 콘텐츠 관련 메서드를 제공합니다.
out 내장객체의 기능과 사용법

 out 내장 객체는 웹 브라우저에 데이터를 전송하는 출력 스트림의 객체입니다. JSP 컨테이너는 JSP 페이지에 사용되는 모든 표현문 태그와 HTML , 일반 텍스트 등을 out 내장객체를 통해서 웹 브라우저에 그대로 전달합니다. out 내장 객체는 스크립틀릿 태그에 사용해 단순히 값을 출력하는 표현문 태그(<%=...%>)와 같은 결과를 얻을 수가 있습니다.

out내장 객체 메서드의 종류

out 내장 객체 메서드 반환유형 설명
print(String str) void 설정된 str값을 웹 브라우저에 출력합니다.
println(String str) void 설정된 str 값을 웹 브라우저에 출력합니다 . 이때 줄 바꿈(\\ or \)이 적용되지 않습니다.

 

폼 처리

폼처리

폼은 사용자가 웹 브라우저를 통해서 입력된 모든 데이터를 한 번에 웹서버로 전송하는 양식을 의미합니다. 사용자가 어떤 내용을 원하는지 사용자의 요구 사항이 무엇인지 파악할 때 가장 많이 사용하는 웹 애플리케이션의 필수적인 요소입니다.

폼데이터의 처리 과정

  1. 폼이 있는 웹 페이지를 요청하고 폼 내용을 입력합니다. 
  2. 폼 안에 있는 모든 데이터를 웹 서버로 보냅니다
  3. 웹 서버는 전송받은 폼 데이터를 처리하기 위해서 JSP 컨테이너로 넘깁니다.
  4. JSP 컨테이너(톰캣)은 폼 데이터를 처리합니다.
  5. 처리 결과에 따라서 새로운 웹 페이지를 웹 서버로 보냅니다. 
  6. 웹 서버는 전송받은 웹 페이지를 웹 브라우저로 보냅니다.
  7. 웹 브라우저는 전송받은 결과 웹 페이지를 보여줍니다.

폼을 구성하는 태그의 종류는

태그 설명
form  폼을 정의하는 태그로 최상위 태그입니다.
input 사용자가 입력할 수 있는 태그입니다.
select  항목을 선택할 수 있는 태그입니다.
textarea 여러 줄을 입력할 수 있는 태그입니다.

 

form태그의 기능과 사용법

form 태그는 사용자가 다양한 정보를 입력해 서로 전달할 때 사용하는 태그입니다. 따라서 단독으로 쓰이지는 않고,사용자가 다양한 정보를 입력하는 양식을 포함하는 최상위 태그입니다.

<from 속성1="값1" [속성2=값2]...>
//다양한 입력 양식 input,select,textarea
</from>

form태그의 속성

속성 설명
action 폼 데이터를 받아 처리하는 웹 페이지의 URL을 설정합니다
method 폼 데이터가 전송되는 HTTP 방식을 설정합니다.
name 폼을 식별하기 위한 이름을 설정합니다.
target 폼 처리 결과의 응답을 실행할 프레임을 설정합니다.
enctype 폼을 전송한느 콘텐츠 MIME 유형을 설정합니다.
accept-charset 폼 전송에 사용할 문자 인코딩을 설정합니다.

 

input 태그의 기능과 사용법

input 태그는 사용자가 텍스트 입력이나 선택 등을 다양하게 할 수 있도록 공간을 만든느 태그로 형식을 다음과 같습니다.

< input 속성1="값1" [속성2="값2"]...>

input태그의 기본 속성

속성 속성 값 설명
type text 기본 값으로 한 줄의 텍스트를 입력할 때 사용합니다.
radio 라디오 버튼으로 열거된 것 중 하나만 선택할 때 사용합니다.
checkbox 체크 박스로 열거된 것 중 다중 선택을 할 때 사용합니다.
password 암호를 입력할 때 사용합니다.
hidden 보이지 않게 숨겨서 값을 전송할 때 사용합니다.
file 파일 업로드를 위한 파일을 선택할 때 사용합니다.
button 버튼 모양을 출력할 때 사용합니다.
reset 폼에 입력된 값을 모두 초기화할 때 사용합니다.
submit 폼에 입력된 값을 모두 서버에 전송할 때 사용합니다.
name 텍스트 입력 양식을 식별하는 이름을 설정합니다.
value 텍스트 입력 양식의 초깃값을 설정합니다.

 

select 태그의 기능과 사용법

select 태그는 여러개의 항목이 나타나는 목록 상자에서 항목을 선택하는 태그입니다. 시작태그와 종료 태그가 있으며 리스트 박스에 여러항목을 주가 삽입 하기 위해서 반드시 option 태그를 포함해야 합니다.

<select 속성1="값1" [속성2="값2"...]>
<option 속성1=값 [속성1]>항목1</option>
...생략
</select>

select 태그의 속성

속성 속성 값 설명
name 텍스트 목록 상자의 이름을 설정합니다.
size 숫자 한 번에 표시할 항목의 개수를 설정합니다.
muliple   다중 선택이 가능하도록 합니다. ctrl 키를 눌러서 목록 상자의 항목을 다중 선택합니다.

option태그의 속성

속성 속성 값 설명
value 텍스트 항목의 값을 설정합니다.
select   해당 항목을 초깃값으로 선택합니다.
disabled   항목을 비활성화 합니다.
textarea 태그의 기능과 사용법

textarea 태그는 여러 줄의 텍스트를 입력할 수 있는 태그입니다. 너비와 높이를 지정하기 위해서 cols와 rows속성을 설정합니다. 이 태그의 가장 큰 특징은 입력된 폼 안에 사용된 태그와 띄어 쓰기가 그대로 출력이 된다는 것입니다.

textarea 태그의 속성

속성 속성 값 설명
name 텍스트 이름을 설정합니다.
cols 숫자 입력할 텍스트 영역의 너비(열 크기)를 설정합니다.
rows 숫자 입력할 텍스트 영역의 높이(행 크기)를 설정합니다.
wrap off 줄 바꿈을 설정합니다.
soft 엔터를 누르지 않아도 텍스트라인 끝에서 자동으로 행이 바뀝니다.
hard 실제 내용을 서버에 전송할 때 캐리지 리턴문자를 전달합니다.
폼 데이터 처리하기

JSP 에서 가장 많이 사용하는 기능 중 하나는 사용자가 웹 브라우저의 폼 페이지에 입력한 데이터를 서버로 전달해 서버가 이를 처리하는 것입니다. 이렇게 폼 데이터를 처리함으로써 표현문이나 스크립틀릿 태그에 request 내장 객체를 이용해 폼 페이지에서 전달된 값을 얻을 수 있습니다.

요청 파라미터의 값 받기
:request 내장 객체는 웹 브라우저가 서버로 보낸 요청에 대한 다양한 정보를 담고 있어 getParameter()메서드를 이용해 요청 파라미터의 값을 얻을 수가 있습니다.

String 변수  = request.getParameter(요청 파라미터 이름);
요청 파라미터의 전체 값 받기

getParameter() 메서드를 이용하면 폼 페이지가 서버로 보낸 요청 파라미터 값을 얻을 수 있습니다. 그런데 입력 데이터가 다수이거나 입력 양식이 다양하다면 이를 전송받기 위해 최악의 경우에 입력 양식에 맞춰 전달받는 데이터의 수만큼 request 내장 객체의 getParameter() 메서드를 설정해야합니다. 

이때 다음과 같은 일괄 처리 메서드를 이용하면 웹 브라우저에서 서버로 전송되는 요청 파라미터를 설정하지 않아도 모든 값을 전달받을 수가 있습니다. 더해서 텍스트 박스, 라디오 버튼, 드롭다운 박스와 같은 다양한 유형에 대해서 한 번에 데이터를 전달받을 수 있습니다.

폼 데이터 일괄 처리 메서드
메서드 형식 설명
getParameterNames() java.util.Enumeration 모든 입력 양식의 요청 파라미터 이름을 순서에 상관없이 Enumeration(열거형) 형태로 전달받습니다.
hasMoreElements()   Enumeration(열거형) 요소가 있으면 true를 반환하고, 그렇지 않다면 false를 반환합니다.
nextElement()   Enumeration(열거형) 요소를 반환합니다.

 

 

'정리 노트 > JSP' 카테고리의 다른 글

9주차-5일  (0) 2023.12.08
9주차-4일  (0) 2023.12.07
9주차-2일  (0) 2023.12.05
9주차-1일  (0) 2023.12.04
8주차-5일  (0) 2023.12.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함