[국비학원 기록 / Servlet] HTTP 응답, request 내장 객체
my code archive
article thumbnail
반응형
HTTP 요청과 응답

동적 웹 서비스 내에서 웹 클라이언트가 웹 브라우저를 통해

웹 서버에게 요청을 보낼 때

웹 서버는 전송받은 HTTP 요청 메시지를 분석 & 요청 처리 대상이 JSP, 서블릿일 경우

정보들을 HttpServletRequest 타입의 객체에 담아 파라미터 형태로 전달

 

HttpServletRequest의 메서드

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/requestInfo")
public class RequestInfo extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");		//클라이언트가 요청한 파라미터 값들을 인코딩해주는 코드
		System.out.println("request.getCharacterEncoding()=" + request.getCharacterEncoding());
		System.out.println("request.getContentLength()=" + request.getContentLength());		//요청 내용 길이, 알 수 없을 때에는 -1 리턴.
		System.out.println("request.getContentType()="+request.getContentType());			//요청 내용 타입, 알 수 없을 때에는 null 리턴.
		
		System.out.println();
		System.out.println("request.getMethod()="+request.getMethod());						//요청 방법.
		System.out.println("request.getProtocol()="+request.getProtocol());					//프로토콜의 종류와 버전
		System.out.println("request.getScheme()="+request.getScheme());						//프로토콜
		
		System.out.println();
		System.out.println("request.getServerName()="+request.getServerName());				//서버 이름 또는 IP 주소
		System.out.println("request.getServerPort()="+request.getServerPort());				//서버 port번호
		System.out.println("request.getRequestURL()="+request.getRequestURL());				//요청 URL(Uniform Resource Locator)
		System.out.println("request.getRequestURI()="+request.getRequestURI());				//요청 URI(Uniform Resource Identifier)
	
		System.out.println();
		System.out.println("request.getContextPath()="+request.getContextPath());			//context path
		System.out.println("request.getServletPath()="+request.getServletPath());			//Servlet path
		System.out.println("request.getQueryString()="+request.getQueryString());			//쿼리스트링
		String year=request.getParameter("year");
		String month=request.getParameter("month");
		String day=request.getParameter("day");
		System.out.println("year="+year);
		System.out.println("month="+month);
		System.out.println("day="+day);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

}
[http://localhost:8080/Chap02_Servlet/requestInfo?year=2021&month=11&day=23]
-----   ---------------  ---------------- --------------

-getScheme()=http
-getServerName()=localhost
-getServerPort()=8080
-getRequestURL()=http://localhost:8080/Chap02_Servlet/requestInfo
-getRequestURI()=/Chap02_Servlet/requestInfo
-getContextPath()=/Chap02_Servlet
-getServletPath()=/requestInfo
-getQueryString()=null

 

-getContextPath() : 현재 JSP 페이지의 경로 리턴

-getRequestURI() : 요청 웹 클라이언트 URL의 도메인 이름, 쿼리스트링을 제외한 주소 리턴

-getRequestURL() : 요청 웹 클라이언트 URL 리턴

-get QueryString() : 쿼리스트링 리턴

-getServerName() : 요청받은 웹 서버의 도메인 이름 리턴

-getServerPort() : 요청받은 웹 서버의 포트 번호 리턴

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형