ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HttpServletRequest는 무엇인가?
    인터넷 통신 2024. 8. 15. 23:03
    반응형

    HttpServletRequest

     

    Java 서블릿 API에서 사용되는 인터페이스로, 클라이언트(일반적으로 웹 브라우저)에서 서버로 전송된 HTTP 요청을 나타냅니다. 이 인터페이스는 HTTP 요청에 대한 다양한 정보를 제공하며, 서블릿이 클라이언트의 요청을 처리할 수 있도록 돕습니다. 주요 기능과 메서드는 다음과 같습니다.

     

    주요 기능 및 메서드

    1. 요청 메서드(GET, POST 등):
      • getMethod(): 클라이언트가 사용한 HTTP 메서드를 반환합니다. 예를 들어, "GET", "POST", "PUT", "DELETE" 등이 있습니다.
    2. 요청 URL 및 URI 정보:
      • getRequestURI(): 요청의 URI를 반환합니다. URI는 웹 애플리케이션 내에서 자원의 위치를 나타냅니다.
      • getRequestURL(): 전체 URL을 반환합니다.
      • getContextPath(): 현재 웹 애플리케이션의 컨텍스트 경로를 반환합니다.
      • getQueryString(): 요청에 포함된 쿼리 문자열을 반환합니다.
    3. 헤더 정보:
      • getHeader(String name): 지정된 이름의 요청 헤더 값을 반환합니다.
      • getHeaderNames(): 모든 요청 헤더 이름의 열거형(Enumeration)을 반환합니다.
    4. 파라미터 정보:
      • getParameter(String name): 요청 파라미터의 값을 반환합니다. 예를 들어, URL의 쿼리 스트링 또는 POST 데이터에서 값을 추출합니다.
      • getParameterNames(): 모든 요청 파라미터 이름의 열거형을 반환합니다.
      • getParameterValues(String name): 하나의 파라미터 이름에 대해 여러 값이 있는 경우, 그 값을 배열로 반환합니다.
    5. 세션 관리:
      • getSession(): 현재 요청에 연결된 세션을 반환합니다. 세션이 없다면 새 세션을 생성합니다.
      • getSession(boolean create): create 파라미터가 true면 새로운 세션을 생성하고, false면 세션이 없을 때 null을 반환합니다.
    6. 클라이언트 정보:
      • getRemoteAddr(): 클라이언트의 IP 주소를 반환합니다.
      • getRemoteHost(): 클라이언트의 호스트 이름을 반환합니다.
      • getRemotePort(): 클라이언트가 사용한 포트를 반환합니다.
    7. 요청 본문 처리:
      • getInputStream(): 요청의 본문을 읽기 위한 ServletInputStream을 반환합니다. 보통 POST 요청의 데이터를 처리할 때 사용됩니다.
      • getReader(): 요청 본문을 문자 기반으로 읽기 위한 BufferedReader를 반환합니다.

     

     

    <예시>

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String param = request.getParameter("name");
        String clientIP = request.getRemoteAddr();
        String method = request.getMethod();
    
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("Parameter name: " + param + "<br>");
        out.println("Client IP: " + clientIP + "<br>");
        out.println("Method: " + method + "<br>");
        out.println("</body></html>");
    }

    이 예제에서는 HttpServletRequest를 사용하여 클라이언트로부터 "name" 파라미터를 받아오고, 클라이언트의 IP 주소와 요청 메서드를 출력합니다.

    HttpServletRequest는 서블릿에서 클라이언트 요청을 처리하고, 필요한 정보를 추출하는 데 핵심적인 역할을 합니다. 이를 통해 다양한 웹 애플리케이션 시나리오에서 유연하게 요청을 처리할 수 있습니다.

    반응형

    '인터넷 통신' 카테고리의 다른 글

    FTP란 무엇일까?  (0) 2025.03.28
    HTTP 데이터 전송 방식 개요  (1) 2024.10.09
    HTTP URL 구조와 사용 예시  (0) 2024.07.25

    댓글

Designed by Tistory.