Request, Response 객체 이해하기 2

JOY·2022년 1월 14일
0

[Java] Servlet

목록 보기
7/9
post-thumbnail

📌 Request, Response 객체 이해하기 2


1. 헤더 정보 읽어들이기

  • 웹 브라우저가 보내는 요청정보에 있는 header 값을 읽어들여 브라우저에 출력

실습
http://localhost:8080/firstweb/header
package name : examples
class name : HeaderServlet
url mapping : /header

  • Servlet 생성

  • 서블릿 파일을 요청할 때 지정할 서블릿 이름을 header 으로 하기 위해 수정

  • HeaderServlet.java 생성

package examples;

import java.io.IOException;
//(생략)

@WebServlet("/header")
public class HeaderServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public HeaderServlet() {
        super();

    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    						throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    						throws ServletException, IOException {
		doGet(request, response);
	}

}

  • doPost() 메서드가 doGet() 메서드를 호출하고 있으므로 doGet() 메서드에 코드 작성
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
						throws ServletException, IOException {
		
		response.setContentType("text/html"); //응답 보낼 컨텐츠 타입 설정
		PrintWriter out = response.getWriter(); //클라이언트와의 연결 객체 생성
		
		//응답으로 보낼 html 태그
		out.println("<html>");
		out.println("<head><title>form</title></head>");
		out.println("<body>");

		// getHeaderNames() : 모든 헤더의 이름을 Enumeration 문자열 객체로 반환
		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>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    						throws ServletException, IOException {
		doGet(request, response);
	}

📍 출력 하기

  • 헤더가 가지고 있는 정보 출력 확인
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글