request response

hanahana·2022년 9월 12일
0
post-thumbnail

클라우드가 요청을 하면 was는 HttpServletRequest와 HttpServletResponse를 생성한다

  • request 클라우드가 요청할때 보낸 정보를 담는다
  • response 클라우드에게 응답할 정보를 담는다.

was는 서블릿에게 이것을 전달

request를 활용하여 헤더의 정보 출력

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>");
	}
  • getHeaderNames()메소드를 활용하여 header의 정보를 출력한다.
  • request가 서블릿의 많은 정보를 이미 가지고 있음을 확인할수있다.

파라메터 읽어들이기

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>");
	}
  • 코드를 살펴보면 name과 age의 값을 받아 읽어서 출력하는것을 확인할수있다.
  • 그냥 이 서블릿을 실행하면 name과 age는 null로 출력된다.

    name : null

    age : null

  • 서블릿주소?name=kim&age=5로 입력해주어야 name과 age의 값을 입력받아 실행할수있다.

    name : kim

    age : 5

클라이언트가 요청한 값 확인하기

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>info</title></head>");
		out.println("<body>");

		String uri = request.getRequestURI();
		StringBuffer url = request.getRequestURL();
		String contentPath = request.getContextPath();
		String remoteAddr = request.getRemoteAddr();
		
		
		out.println("uri : " + uri + "<br>");
		out.println("url : " + url + "<br>");
		out.println("contentPath : " + contentPath + "<br>");
		out.println("remoteAddr : " + remoteAddr + "<br>");
		
		out.println("</body>");
		out.println("</html>");
	}
  • request를 이용파여 클라이언트가 가지고온 값을 확인할수있다.
		String uri = request.getRequestURI();
		StringBuffer url = request.getRequestURL();
		String contentPath = request.getContextPath();
		String remoteAddr = request.getRemoteAddr();

출력값

uri : /exam31/info

url : http://localhost:8888/exam31/info

contentPath : /exam31

remoteAddr : 0:0:0:0:0:0:0:1

profile
hello world

0개의 댓글