-
[부스트코스] 1. 웹 프로그래밍 기초 : Request, Response 객체 이해하기Front-end/부스트코스 : 웹 프로그래밍 2020. 2. 24. 18:20
강의 링크 : https://www.edwith.org/boostcourse-web/lecture/16689/
WAS는 웹 브라우저로부터 Servlet 요청을 받으면?
- 요청할 때 가지고 있는 정보를 HttpServletRequest 객체를 생성하여 저장
- 웹 브라우저에게 응답을 보낼 때 사용하기 위한 HttpServletResponse 객체 생성
- 생성된 HttpServletRequest와 HttpServletResponse 객체를 서블릿에게 전달함
- 객체 : 관련된 정보를 가지고 있는 것
HttpServletRequest
- 목적 : HTTP 프로토콜의 request 정보를 서블릿에게 전달
- 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어들이는 메소드를 가지고 있음
- Body의 Stream을 읽어 들이는 메소드 포함
HttpServletResponse
- WAS가 요청을 보낸 클라이언트에게 응답을 보내기 위해 생성하는 객체 -> 서블릿에게 전달
- 서블릿은 객체를 이용하여 content type, 응답코드, 응답메시지 등 전송
실습 : 웹 브라우저가 요청 정보에 담아 보내는 Header 값을 화면에 출력하기
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>form</title></head>"); out.println("<body>"); Enumeration<String> headerNames = request.getHeaderNames(); // 문자열 while(headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); String headerValue = request.getHeader(headerName); out.println(headerName + " : " + headerValue + " <br>"); } out.println("</body>"); out.println("</html>"); }
실습 : URL 주소의 파라미터 정보를 읽어들여 화면에 출력하기
= 을 기준으로 하여 앞에 있는 것은 파라미터 이름, 뒤에 있는 것은 파라미터의 값이라고 생각하면 된다.
클라이언트가 넘겨준 정보를 읽어서 사용하는 실습을 해보자!
html home 안에 input 태그를 사용해서 넘길 수 있음
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>form</title></head>"); out.println("<body>"); String name = request.getParameter("name"); // 파라미터 이름을 넣어줌 String age = request.getParameter("age"); out.println("name : "+name+"<br>"); out.println("age : "+age+"<br>"); out.println("</body>"); out.println("</html>"); }
실습 : URI, URL, PATH, Remote host 등에 대한 정보 출력하기
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>form</title></head>"); out.println("<body>"); String uri = request.getRequestURI(); StringBuffer url = request.getRequestURL(); String contentPath = request.getContextPath(); String remoteAddr = request.getRemoteAddr(); int contentLen = request.getContentLength(); out.println("uri : "+uri+"<br>"); out.println("url : "+url+"<br>"); out.println("path : "+contentPath+"<br>"); out.println("addr : "+remoteAddr+"<br>"); out.println("length : "+contentLen+"<br>"); out.println("</body>"); out.println("</html>"); }
'Front-end > 부스트코스 : 웹 프로그래밍' 카테고리의 다른 글
[부스트코스] 프로젝트 A-1. 나를 소개하는 홈페이지 만들기 (0) 2020.02.25 [부스트코스] 1. 웹 프로그래밍 기초 정리 (0) 2020.02.24 [부스트코스] 1. 웹 프로그래밍 기초 : Servlet 작성, 라이프싸이클 (0) 2020.02.19 [부스트코스] 1. 웹 프로그래밍 기초 : HelloWorld 서블릿 컴파일 및 실행 (0) 2020.02.19 [부스트코스] 1. 웹 프로그래밍 기초 : JDK 설치하기, 환경설정 (0) 2020.02.19