내장객체 Request, Response


 서버와 클라이언트의 간 정보의 이동은 request, response를 통해 주고 받게 되는데 JSP와 Servlet에선 내장 객체로 request와 response를 기본적으로 제공해준다.

 서버는 request를 통해서 데이터를 받거나, reponse를 통해서 클라이언트 측으로 데이터를 보내고, 페이지이동시에도 request, response에 데이터를 담아 주고 받을 수 있다.

 request와 response는 클라이언트가 요청을 보냈을때 생성되고 요청이 유지되는 동안만 request와 response 객체가 유지된다.

만약 요청과 응답이 끝나고 새로운 요청(새로운 페이지 요청)이 일어나면 request와 response는 새로운 객체가 생성된 것이다.


Encoding

정보를 주고 받을때 문자를 맞춰주는 엔코딩이 필수이다. 엔코딩 방식이 맞지 않으면 문자가 제대로 출력되지 않는다.

Request 엔코딩 설정

request.setCharacterEndoding("utf-8");        request로 받을 데이터의 엔코딩을 설정

Response 엔코딩 설정

response.setContentType("text/html; charset=utf-8");    response로 보낼 데이터의 타입과 엔코딩을 설정


Request

Request 정보호출

Parameter로 저장된 값을 가져온다.    리턴값은 모두 String 이다.

request.getParameter("name");        name="name" key 값이 name의 객체의 value를 가져온다.

request.getParameterValue("list");    name="list" 인 배열을 가져온다.

request.getParameterNames();         request에 저장된 파라미터들의 모든 이름을 배열로 가져온다.


attribute로 저장된 값을 가져온다.    리턴값은 모두 Object 이다. (사용시 형변환 필수)

request.getAttribute("name");


cookie


Request 정보저장

request.setAttribute("name", obj or value);


Request 전송 (request 객체를 가지고 페이지 이동)

RequestDispatcher dis = request.getRequestDispatcher("url");

dis.forward(request,response);

위와같이 리퀘스트 디스패쳐에 이동할 url을 넣어서 객체를 받고,

객체의 forward 메서드에 request, response를 매개값으로 넣어서 메서드를 호출하면,

현재 페이지의 request와 response 객체를 다른페이지로 보낼수 있다. (객체 안에 데이터도 유지된다.)


Response

Response 정보송출

response.getWriter() 로 PrintWriter 객체를 받아서,

printWriter.pirnt(value); 로 값을 내보낸다.


response.Redirect("url")    요청에 대한 응답으로 url 페이지로 이동하도록 응답한다.

리다이렉트는 현재 JSP 페이지가 모두 실행된 후 response를 통해 보내진다.


'JSP+Servlet' 카테고리의 다른 글

6.EL (Expression Language)  (0) 2020.01.08
3.JSP  (0) 2020.01.08
2.Servlet  (0) 2020.01.08
1.Mapping  (0) 2020.01.08
0. JSP, Servlet 이란?  (0) 2020.01.08

+ Recent posts