반응형
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() : 요청받은 웹 서버의 포트 번호 리턴
반응형
'📒 education archive > 📍Servlet, JSP' 카테고리의 다른 글
[국비학원 기록/Servlet] 서블릿 비즈니스 로직 처리, 데이터베이스 연동 (0) | 2021.11.25 |
---|---|
[국비학원 기록/Servlet] 서블릿 로그인 예제 , GET 방식, POST 방식 (0) | 2021.11.24 |
[국비학원 기록/Servlet] 서블릿 생명주기, URL 매핑하기 (0) | 2021.11.24 |
[국비학원 기록/JSP 시작] 웹 프로그래밍 개요, 서블릿(Servlet) (0) | 2021.11.24 |
JSP 공부 기록(10)-EL 문법, 내장객체, empty 연산자, 예제 (0) | 2021.09.05 |