javax.servlet.http.HttpServletRequest

클라이언트의 요청과 관련된 정보를 저장 (파라미터, http프로토콜 헤더) 서버와 관련된 정보 클라이언트의 세션, 쿠키 정보 다른 서블릿이나 JSP로 요청을 전달할때 request객체에 저장해서 전달 가능


JSP로 알아보기

<%@ page import = "java.util.*" %>

<%@ page import = "java.sql.*" %>

<%@ page import = "java.io.*" %>


<%@ page contentType="text/html; charset=utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>HttpServletRequest</title>

</head>

<body>

<!-- html 주석 (소스보기에서 보입니다.) -->

<%-- JSP주석입니다.(소스보기에서 보이지 않습니다.) --%>


<%--

tomcat 컨테이너가 시작될 때 javax.servlet.http.httpServletRequest인터페이스를

구현한 객체를 생성했으며 jsp페이지에서 객체를 request라는 이름으로 사용하면 됩니다.

--%>

<center>

<h3>HttpServletRequest로 정보 가져오기</h3>

</center>


요청 클라이언트 IP :<%= request.getRemoteAddr() %><br>

클라이언트가 요청한 정보의 길이 :<%= request.getContentLength() %><br> 

클라이언트가 요청한 프로토콜 :<%= request.getProtocol() %><br>

클라이언트가 요청한 Method :<%= request.getMethod() %><br>

클라이언트가 요청한 URI :<%= request.getRequestURI() %><br> 

클라이언트가 요청한 ContextPath :<%= request.getContextPath() %><br> 

클라이언트가 요청한 ServerName :<%= request.getServerName() %><br> 

클라이언트가 요청한 ServerPort :<%= request.getServerPort() %><br> 

<% 

out.print("클라이언트가 요청한 http 헤더 정보들...<br> ");

Enumeration<String> em = request.getHeaderNames();

while(em.hasMoreElements()){

String name = em.nextElement();

out.println(name + " : ");

Enumeration<String> values = request.getHeaders(name);


while(values.hasMoreElements()){

out.println(values.nextElement() +","); 

out.println("<br>");

}

%>

</body>

</html>


Servlet로 알아보기

package com.web3.login;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Enumeration;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


@WebServlet("/request")

public class requestInfo extends HttpServlet {

private static final long serialVersionUID = 1L;


public requestInfo() {

super();

}


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

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.print("<html>");

out.print("<head><title>HttpServletRequest</title></head>");

out.print("<body>");

out.print("<center><h3>HttpServletRequest로 정보 가져오기</h3></center><hr>");

out.print("요청 클라이언트 IP :" + request.getRemoteAddr() + "<br>");

out.print("클라이언트가 요청한 정보의 길이 :" + request.getContentLength() + "<br>");

out.print("클라이언트가 요청한 프로토콜 :" + request.getProtocol() + "<br>");

out.print("클라이언트가 요청한 Method :" + request.getMethod() + "<br>");

out.print("클라이언트가 요청한 URI :" + request.getRequestURI() + "<br>");

out.print("클라이언트가 요청한 ContextPath :" + request.getContextPath() + "<br>");

out.print("클라이언트가 요청한 ServerName :" + request.getServerName() + "<br>");

out.print("클라이언트가 요청한 ServerPort :" + request.getServerPort() + "<br>");

out.print("<hr3>");

out.print("클라이언트가 요청한 http 헤더 정보들...<br> :");

Enumeration<String> em = request.getHeaderNames();

while(em.hasMoreElements()){

String name = em.nextElement();

out.println(name + " : ");

Enumeration<String> values = request.getHeaders(name);


while(values.hasMoreElements()){

out.println(values.nextElement() + ", ");

}

out.println("<br>");

}

out.print("</body></html>");

}

}


결과 화면



+ Recent posts