Dolphins의 HelloWorld

Servlet과 JSP연동 본문

웹 프로그래밍/DB연결 웹 어플리케이션

Servlet과 JSP연동

돌핀's 2018. 8. 25. 15:02

Servlet과 JSP연동


- Servlet은 프로그램 로직이 수행되기에 유리하다.IDE 등에서 지원을 좀 더 잘해준다.


- JSP는 결과를 출력하기에 Servlet보다 유리하다. 필요한 html문을 그냥 입력하면 된다.


- 프로그램 로직 수행은 Servlet에서, 결과 출력은 JSP에서 하는 것이 유리하다.


- Servlet과 JSP의 장단점을 해결하기 위해서 Servlet에서 프로그램 로직이 수행되고, 그 결과를


   JSP에게 포워딩하는 방식을 사용하게 되었다. 이를 Servlet과 JSP연동이라고 한다.




먼저 LogicServlet을 다음과 같이 작성하였다.



그런 후 WebContent 아래에 result.jsp를 만들어 다음과 같이 작성하였다.



이렇게 작성을하면 다음과 같은 결과가 나온다.



forward 방식으로 진행되기 때문에 URL에는 변화가 없는것을 확인할 수 있다.


forward방식에 대하여 다시한번 살펴보면


이런식으로 클라이언트가 LogicServlet을 요청하면 LogicServlet에서 주어진 요청을 처리하고


나머지 작업을 result.jsp로 넘긴다. 


result.jsp는 나머지 작업을 마친 후 그 결과를 출력해준다.




JSP파일을 다시한번 살펴보면 서블릿에서 처리해준 부분에 대해


request.getAttribute()와 같은 자바문을 활용하여 코드가 작성되고 있는데


어쨌든 JSP부분은 서버쪽보다는 출력을 담당하는 부분이기 때문에


디자인적인 요소들이 많이 들어가서 디자이너들이 자바코드가 자주 나오게 되면 거부감을 갖기도 한다.


그래서 이런것들을 편하게 사용하기위해 EL이나 JSTL이 점차 나오게 된다.


EL 코드는 ${ } 이런식으로 사용한다.


위의 예시를 EL코드를 사용해서 다시 구현해보겠다.



앞에서 request.getAttribute()해서 썼던 것들을


이렇게 간단하게 표현하면 똑같은 결과가 나오는 것을 확인할 수 있다.


EL과 JSTL에 대해서는 추후 따로 게시하도록 하겠다.



출처 : edwith

https://www.edwith.org/boostcourse-web/lecture/16706/


'웹 프로그래밍 > DB연결 웹 어플리케이션' 카테고리의 다른 글

scope  (0) 2018.08.28
forward  (0) 2018.08.24
리다이렉트 (redirect)  (0) 2018.08.24
JSP 내장 객체  (0) 2018.08.24
JSP 라이프싸이클  (0) 2018.08.23
Comments