Back-end/JAVA,Spring

Servlet 서블릿

cheersHena 2018. 8. 10. 10:25
반응형
Servlet

자바기반으로 만드는 웹어플리케이션 프로그래밍.
클라이언트 요청 처리하고 그 결과를 다시 클라이언트에게 전송하는 클래스 구현 규칙을 지킨 프로그램.
web.xml에 Servlet클래스와 URL을 등록하여 사용.
1 Servlet : 1 Java . 
즉 서블릿은  java class와 1:1 매핑됨. Servlet요청하기 위한 JAVA클래스 존재.


input.jsp  ------------------->   Servlet  -------------------> output.jsp
   입력                                  처리/계산                               출력
                             서블릿관리: 와스 = ex)아파치톰캣

서블릿 환경:자바. 
서블릿이 자바가 아니라 서블릿을 실행시켜주는(환경을 구성해주는) 파일이 '자바'인것..



Servlet Container
Servlet을 관리해주는 용기(container). 
Servlet의 생명주기를 관리하고 요청에 맞는 Servlet Thread를 생성한다. 
클라이언트의 Request를 받아주고, Response를 보낼 수 있게 웹 서버와 소켓을 만들어 통신한다. 
가장 대표적인 Servlet container는 Tomcat
ex) 서블릿 컨테이너: 아파치 톰캣(=와스).
웹기반에서는 자바실행 불가. 자바실행위해 서블릿 끼워넣음.
서브릿 관리 주체가 와스(아파치톰캠)인것이고 와스가 서블릿을 관리. 

Request : 클라가 전송한 정보 가지고있음. jsp -> sevlet
( input -> servlet -> output : 2회 request)

Response: 서버에서 요청 처리 후 그 응답 할때
(input -> servlet , 요청에 대한 응답을 클라로 전송.. ) 

request.getParameter("name")
: input.jsp에서 보낸것을  servlet에서 꺼낼때 사용.
request.setAttribute("name", value);
: Servlet에서 output.jsp로 보낼때 사용
request.getAttribute("name")
: Servlet에서 보낸걸 output.jsp에서 꺼낼때. 

e.g) output 응답 요청.

//1. 페이지 지정( 리퀘스트 디스페쳐)

RequestDispatcher rd = request.getRequestDispatcher("/(경로)/(페이지명).jsp");

//2. 데이터 보내기.

request.setAttribute("name",name );

request.setAttribute("age", age);

...

// 3. 보내기!!!!!! 포워드.

rd.forward(request, response);



반응형