๋ฐ์ํ
โป ์ด์ ํธ 2025.02.27 - [โ Network/๐ HTTP] - [HTTP]HttpServlet ์ฌ์ฉํด๋ณด๊ธฐ ํ๊ฒฝ์ค์ ๋ถํฐ
HttpServletRequest
- ์๋ธ๋ฆฟ์ ๊ฐ๋ฐ์๊ฐ HTTP์์ฒญ ๋ฉ์์ง๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก, ๊ฐ๋ฐ์ ๋์ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํ์ฑํ๋ค.
- ๊ทธ ๊ฒฐ๊ณผ๋ฅผ HttepServletRequest ๊ฐ์ฒด์ ๋ด์์ ์ ๊ณตํ๋ค.
- ๊ตฌ์ฑ
- START LINE
- http method, URL, ์ฟผ๋ฆฌ ์คํธ๋ง, ์คํค๋ง, ํ๋กํ ์ฝ - ํค๋
- ๋ฐ๋
- form ํ๋ผ๋ฏธํฐ ํ์ ์กฐํ
- START LINE
- ๋ถ๊ฐ๊ธฐ๋ฅ
- ์์ ์ ์ฅ์
- ์ ์ฅ : request.setAttribute(name, value)
- ์กฐํ : request.getAttribute(name)
- ์ ์ฅ : request.setAttribute(name, value)
- ์ธ์
๊ด๋ฆฌ ๊ธฐ๋ฅ
- 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
๋ฐ์ํ
'โ Network > ๐ HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP]Request-HTTP message body (0) | 2025.02.27 |
---|---|
[HTTP]Request-method:post๋ฐฉ์ (0) | 2025.02.27 |
[HTTP]Request-method:get๋ฐฉ์ (0) | 2025.02.27 |
[HTTP]HttpServlet ์ฌ์ฉํด๋ณด๊ธฐ ํ๊ฒฝ์ค์ ๋ถํฐ (0) | 2025.02.27 |
[HTTP]HttpServlet ์ญํ (0) | 2025.02.26 |