MapleStory Cookie With Halo

โ˜ Network/๐ŸŒ HTTP

[HTTP]HttpServletRequest ์„ค๋ช…๊ณผ ์‚ฌ์šฉ๋ฒ•

๋‰ด์ด NUEY 2025. 2. 27. 16:22
๋ฐ˜์‘ํ˜•

 

โ€ป ์ด์ „ ํŽธ 2025.02.27 - [โ˜ Network/๐ŸŒ HTTP] - [HTTP]HttpServlet ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ํ™˜๊ฒฝ์„ค์ •๋ถ€ํ„ฐ

 


 

HttpServletRequest

 

  • ์„œ๋ธ”๋ฆฟ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ HTTP์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ๊ฐœ๋ฐœ์ž ๋Œ€์‹  HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ํŒŒ์‹ฑํ•œ๋‹ค.

  • ๊ทธ ๊ฒฐ๊ณผ๋ฅผ HttepServletRequest ๊ฐ์ฒด์— ๋‹ด์•„์„œ ์ œ๊ณตํ•œ๋‹ค.

  • ๊ตฌ์„ฑ
    • START LINE
      - http method, URL,  ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง, ์Šคํ‚ค๋งˆ, ํ”„๋กœํ† ์ฝœ

    • ํ—ค๋”

    • ๋ฐ”๋””
      - form ํŒŒ๋ผ๋ฏธํ„ฐ ํ˜•์‹ ์กฐํšŒ

  • ๋ถ€๊ฐ€๊ธฐ๋Šฅ
    • ์ž„์‹œ ์ €์žฅ์†Œ
      • ์ €์žฅ : request.setAttribute(name, value)

      • ์กฐํšŒ : request.getAttribute(name)
    • ์„ธ์…˜ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ

      •  request.getSession(Create: true)

 


 

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

 

  • code
    ๋”๋ณด๊ธฐ
    package hello.servlet.basic.request;
    
    import jakarta.servlet.ServletException;
    import jakarta.servlet.annotation.WebServlet;
    import jakarta.servlet.http.Cookie;
    import jakarta.servlet.http.HttpServlet;
    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet(name = "requestHeaderServlet", urlPatterns = "/request-header")
    public class RequestHeaderServlet extends HttpServlet {
    
        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            printStartLine(request);
            printHeaders(request);
            printHeaderUtils(request);
            printEtc(request);
        }
    
        private void printStartLine(HttpServletRequest request) {
            System.out.println("--- REQUEST-LINE - start ---");
    
            System.out.println("request.getMethod() = " + request.getMethod()); //GET
            System.out.println("request.getProtocal() = " + request.getProtocol()); //HTTP/1.1
            System.out.println("request.getScheme() = " + request.getScheme()); //http
            // http://localhost:8080/request-header
            System.out.println("request.getRequestURL() = " + request.getRequestURL());
            // /request-test
            System.out.println("request.getRequestURI() = " + request.getRequestURI());
            //username=hi
            System.out.println("request.getQueryString() = " + request.getQueryString());
            System.out.println("request.isSecure() = " + request.isSecure()); //https ์‚ฌ์šฉ ์œ ๋ฌด
            System.out.println("--- REQUEST-LINE - end ---");
            System.out.println();
        }
    
        //Header ๋ชจ๋“  ์ •๋ณด
        private void printHeaders(HttpServletRequest request) {
            System.out.println("--- Headers - start ---");
    
    /*
            ์˜ˆ์ „๋ฐฉ์‹
            Enumeration<String> headerNames = request.getHeaderNames();
            while (headerNames.hasMoreElements()) {
                String headerName = headerNames.nextElement();
                System.out.println(headerName + ": " + headerName);
            }
    */
    
            request.getHeaderNames().asIterator()
                    .forEachRemaining(headerName -> System.out.println(headerName + ": " + headerName));
    
            System.out.println("--- Headers - end ---");
            System.out.println();
        }
    
        private void printHeaderUtils(HttpServletRequest request) {
            System.out.println("--- Header ํŽธ์˜ ์กฐํšŒ start ---");
            System.out.println("[Host ํŽธ์˜ ์กฐํšŒ]");
            System.out.println("request.getServerName() = " + request.getServerName()); //Host ํ—ค๋”
            System.out.println("request.getServerPort() = " + request.getServerPort()); //Host ํ—ค๋”
            System.out.println();
    
            System.out.println("[Accept-Language ํŽธ์˜ ์กฐํšŒ]");
            request.getLocales().asIterator()
                    .forEachRemaining(locale -> System.out.println("locale = " + locale));
            System.out.println("request.getLocale() = " + request.getLocale());
            System.out.println();
    
            System.out.println("[cookie ํŽธ์˜ ์กฐํšŒ]");
            if (request.getCookies() != null) {
                for (Cookie cookie : request.getCookies()) {
                    System.out.println(cookie.getName() + ": " + cookie.getValue());
                }
            }
            System.out.println();
    
            System.out.println("[Content ํŽธ์˜ ์กฐํšŒ]");
            System.out.println("request.getContentType() = " + request.getContentType());
            System.out.println("request.getContentLength() = " + request.getContentLength());
            System.out.println("request.getCharacterEncoding() = " + request.getCharacterEncoding());
    
            System.out.println("--- Header ํŽธ์˜ ์กฐํšŒ end ---");
            System.out.println();
        }
    
        //๊ธฐํƒ€ ์ •๋ณด
        private void printEtc(HttpServletRequest request) {
            System.out.println("--- ๊ธฐํƒ€ ์กฐํšŒ start ---");
    
            System.out.println("[Remote ์ •๋ณด]");
            System.out.println("request.getRemoteHost() = " + request.getRemoteHost()); //
            System.out.println("request.getRemoteAddr() = " + request.getRemoteAddr()); //
            System.out.println("request.getRemotePort() = " + request.getRemotePort()); //
            System.out.println();
    
            System.out.println("[Local ์ •๋ณด]");
            System.out.println("request.getLocalName() = " + request.getLocalName()); //
            System.out.println("request.getLocalAddr() = " + request.getLocalAddr()); //
            System.out.println("request.getLocalPort() = " + request.getLocalPort()); //
    
            System.out.println("--- ๊ธฐํƒ€ ์กฐํšŒ end ---");
            System.out.println();
        }
    }
  • ์ธํ„ฐ๋„ท ์ฃผ์†Œ์ฐฝ์— http://localhost:8080/request-header ๋ฅผ ์น˜๊ณ  ๋“ค์–ด๊ฐ„๋‹ค.

  • ์ถœ๋ ฅ๊ฒฐ๊ณผ

 

 


โ€ป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373

๋ฐ˜์‘ํ˜•