request 기본객체가 제공하는 기능들

ㆍ 클라이언트(웹 브라우저)와 관련된 정보 읽기
ㆍ 서버와 관련된 정보 읽기
ㆍ 클라이언트가 전송한 요청 파라미터 읽기
ㆍ 클라이언트가 전송한 요청 헤더 읽기
ㆍ 클라이언트가 전송한 쿠키 읽기
ㆍ 속성 처리 기능

 

1. 클라이언트 정보 및 서버정보 관련 메소드

 

메소드 리턴 타입 설명
getRemoteAdd() String 웹 서버에 연결한 클라이언트의 IP주소를 구한다.
getContentLength() long 클라이언트가 전송한 요청 정보의 길이를 구한다. 알 수 없으면 -1을 리턴...
getCharacterEncoding() String 클라이언트가 요청 정보를 전송할 때 사용한 캐릭터의 인코딩을 구한다.
getContentType() String 클라이언트가 요청 정보를 전송할 때 사용한 컨텐츠의 타입을 구한다.
getProtocol() String 클라이언트가 요청한 프로토콜을 구한다.
getMethod() String 웹브라우저가 정보를 전송할 때 사용한 방식을 구한다.
getRequestURI() String 웹브라우저가 요청한 URL에서 경로를 구한다.
getContextPath() String JSP페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 구한다.
getServerName() String 연결할 때 사용한 서버 이름을 구한다.
getServerPort() int 서버가 실행중인 포트 번호를 구한다.

 

 

 

 

2. request 기본 객체의 파라미터 읽기 관련 메소드

 

메소드 리턴 타입 설명
getParameter(String name) String 이름이 name인 파라미터의 값을 구한다. 없으면 null 리턴
getParameterValues(String name) String[] 이름이 name인 모든 파라미터의 값을 배열로 구한다. 없으면 null 리턴
getParameterNames() java.util.Enumeration 웹브라우저가 전송한 파라미터의 이름 목록을 구한다.
getParamaterMap() java.util.Map 웹브라우저가 전송한 파라미터의 맵을 구한다.
맵은 (파라미터 이름, 값) 쌍으로 구성

 

3. request 기본 객체가 제공하는 헤더 관련 메소드

 

메소드 리턴 타입 설명
getHeader(String name) String 지정한 이름의 헤더 값을 구한다.
getHeaders(String name) java.util.Enumeration 지정한 이름의 헤더 목록을 구한다.
getHeaderNames() java.util.Enumeration 모든 헤더의 이름을 구한다.
getIntHeader(String name) int 지정한 헤더의 값을 정수 값으로 읽어온다.
getDateHeader(String name) long 지정한 헤더의 값을 시간 값으로 읽어온다.

 

 

 

 

 

<% 
    자바코드1;
    자바코드2;
    자바코드3;
    ...
%>

1. 스크립트릿(Scriptlet)  :

JSP에서 자바 코드를 실행할때 사용하는 코드 블록

 


<%= 값 %>
ex) <%= 1+2+3+4+5+6+7+8+9 %>  → 45가 출력

2. 표현식(Expression) :

표현식은 어떤 값을 출력 결과에 포함시키고자 할 때 사용된다.

 

 


<%!
  public 리턴타입 메서드이름(파라미터목록){
    자바코드1;
    자바코드2;
    ...
    자바코드n;
    return 값;
  }
%>

3. 선언부(declaration) :

스크립트릿이나 표현식에서 사용할 수 있는 메서드를 작성할때에 선언부를 사용한다.

 


<%--
  주석
--%>

4. JSP주석 :

JSP코드 자체를 주석처리

page		: 	JSP 페이지에 대한 정보를 지정한다. JSP가 생성하는 문서의 타입. 
	  		출력버퍼의 크기, 에러페이지 등 JSP 페이지에서 필요로 하는 정보를 설정한다.
taglib	: 	JSP 페이지에서 사용할 태그 라이브러리를 지정한다.
include	: 	JSP 페이지의 특정 영역에 다른 문서를 포함시킨다.

 

디렉티브(Directive)는 JSP 페이지에 대한 설정 정보를 지정할 때 사용한다!

 

 

 

<%@ page contentType="text/html; charset=utf-8" %>
<%@ page contentType="application/json; charset=iso-8859-1" %>

1. ContentType :

JSP가 생성할 문서의 MIME(Multipurpose Internet Mail Extensions: 응답데이터의 내용을 설명한 포멧) 타입과 캐릭터 인코딩을 지정한다. "text/html", "text/xml", "application/json" 등이 있다.

 

 


<%@ page import="java.util.Calendar" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Date, java.util.Date"%> <!-- 2개 같이 쓸 경우,,, -->

2. Import :

JSP 페이지에서 사용할 자바 클래스를 지정한다.

 

 


<%@ page session = "true" %> <!-- (사용:true / 사용안함:false) -->

3. Session :

JSP 페이지가 세션을 사용할지의 여부를 지정한다.

 

 


<%@ page buffer = "4kb" autoFlush = "true" %>

4. Buffer & AutoFlush :

buffer는 JSP 페이지의 출력 버퍼 크기를 지정한다.

(none: 출력값을 사용하지 않음, 8kb : 8킬로바이트만큼 출력버퍼를 사용함.)

autoFlush는 출력버퍼가 다 찼을때, 버퍼를 비울것인지 말것인지의 여부를 지정한다.

(기본값은 true)

 

 


<%@ page info="This page is 404 Error"%>

5. Info :

JSP 페이지에 대한 설명을 입력한다.

 

 


<%@ page errorPage="/error/viewErrorMsg" %>

<!-- errorPage 디렉티브를 지정했다면 isErrorPage도 지정해주어야 한다! -->
<%@ page isErrorPage="true" %> 

6. ErrorPage & IsErrorPage :

errorPage는 JSP 페이지를 실행하는 도중에 에러가 발생할 때 보여줄 페이지를 지정한다.

isErrorPage는 현재 페이지가 에러가 발생될 때 보여주는 페이지인지 여부를 지정한다.

(true: 에러페이지/ false: 에러페이지 아님...)

 

 


<%@ page pageEncoding="UTF-8" %>
<%@ page pageEncoding="EUC-KR" %>

7. PageEncoding :

현재 작성중인 JSP 페이지의 인코딩 방식!

 

 


<%@ page isELIgnored= "false" %>
<%@ page deferredSyntaxAllowedAsLiteral= "false" %>
<%@ page trimDirectiveWhitespaces= "false" %>

8. IsELIgnored & DeferredSyntaxAllowedAsLiteral & TrimDirectiveWhitespaces

IsELIgnored는 표현언어를 해석하지 않고 문자열로 처리할지 여부를 지정한다.

(true면 ${}, #{} 같은 표현언어들이 비활성화되어 문자열로 출력된다...)

DeferredSyntaxAllowedAsLiteral는  #{ 문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정한다.

(요놈만 변경하면 ${}는 해석하고 #{}는 문자열로 출력된다...)

TrimDirectiveWhitespaces는 브라우저에서 응답받은 html문서의 EL부분 공백을 제거해줄지 여부를 지정한다.

 

 

 

웹 브라우저와 웹 서버는 HTTP로 데이터를 주고 받는다!

1. 렌더링 :

HTML 문서로부터 알맞은 화면을 생성하는 과정

 

2. 요청규칙 :

웹 브라우저가 웹 서버에 HTML과 같은 것을 요청할 때 사용할 데이터 구성 규칙

 

3. 응답규칙 :

웹 서버가 웹 브라우저에 HTML과 같은 것을 전송할 때 사용할 데이터 구성 규칙

 

구성요소 요청 데이터 응답 데이터
요청/응답 줄 GET이나 POST와 같은 HTTP의 요청방식과 요청하는 자원의 경로를 지정한다. 요청에 대해 200 이나 404 같은 응답코드를 전송한다. ko.wikipedia.org/wiki/HTTP_상태_코드
헤더 서버가 응답을 생성하는데 참조할 수 있는 정보를 전송한다.
브라우저 종류, 언어 등...
응답에 대한 정보를 전송한다.
응답할 데이터 종류, 길이 등...
몸체 정보를 전송해야 할 때 사용한다.
파일 업로드...
요청한 자원의 내용을 담는다.
HTML, 이미지 등...

URL의 일반적인 구성

1. 프로토콜 :

웹 브라우저가 서버와 내용을 주고받을 때 사용할 규칙 이름이다. 웹 페이지의 주소를 표현할 때는 http를 사용한다.

 

2. 서버이름 :

웹 페이지를 요청할 서버의 이름을 지정한다. 서버 이름은 "ulralra-dev.tistory.com/"와 같은 도메인 이름이나 "211.231.99.250"과 같은 IP주소로 입력할 수 있다.

 

3. 경로 :

웹 페이지의 상세 주소에 해당하고 웹페이지마다 다른 경로를 갖는다.

 

4. 쿼리 문자열 :

추가로 서버에 보내는 데이터로 같은 경로라 하더라도 입력한 값에 따라 다른 결과를 보여줘야할 때 쿼리 문자열을 사용한다. 주로 검색 결과를 보여주는 경우에 검색어를 전달하는 용도로 많이 쓴다. 

 

※ DNS(Domain Name Server) :

도메인 이름으로 된 웹 페이지의 주소를 IP주소로 다시 변환해줄 때 사용한다!

 

※ 포트(Port) :

서버 내에서 다른 서버프로그램과 구분할 수 있도록 주어지는 번호로 "http://localhost:8080/index.jsp" 같은 방식으로 붙는다. 

+ Recent posts