본문 바로가기

Server Development/Serlvet

Servlet - Binding

바인딩

- 정보를 객체에 저장하여 포워딩하거나 사용하기 위한 과정을 의미한다.

 

그 전 포스트에서 Forwarding에 대해서 알아보았다.

데이터를 다른 서블릿으로 전달을 할때 항상 바인딩이 필요하다.

 

방법)

1. request.setAttribute("이름", "값");

2. ServletContext 사용

 

 

1. request.setAttribute("이름", "값");

밑에를 살펴보면,

firstServlet에 요청 request가 들어왔다고 가정해보자.

이때, 이 request에 "address" 속성에 "천안시"라는 데이터를 삽입한다.

이 후, 포워딩에 필요한 dispatch 객체 생성후 이동할 서블릿을 설정한다.

다음 서블릿에 데이터를 전달한다.

 

// Servlet1

request.setAttribute("address", "천안시");
RequestDispatcher dispatch = request.getRequestDispatcher("second");
dispatch.forward(request, response);

 

이 후, 두번째 서블릿에서는

request.getAttribute("address")를 통해 데이터를 받아 사용가능하다.

// Servlet2
request.getAttribute("address")

 

 

 

 

2. ServletContext 사용

ServletContext는 Project 생성시 자동으로 1개 생성되는 것으로 전체 서블릿에서 전역변수처럼 사용가능하다.

 

첫번째 서블릿에서 아래와 같이 Context 객체 값을 할당한다.

장점은 forwarding과정 없이 두번째 서블릿에서 객체 선언만으로 값을 불러올 수 있다.

// Servlet1

ServletContext context = getServletContext();
context.setAttribute("member", "james");

 

두번째 서블릿에서는 아래와 같이 불러와 작업한다.

// Servlet2

ServletContext context = getServletContext();
String member = (String) context.getAttribute("member");

'Server Development > Serlvet' 카테고리의 다른 글

Servlet - Cookie And Session  (0) 2023.03.21
Servlet - ServletContext  (0) 2023.03.21
Servlet - Forwarding  (0) 2023.03.21
Servlet - Get, Post  (0) 2023.03.21
Servlet - API  (0) 2023.03.20