본문 바로가기

Web/기초

[WEB기초] 서블릿과 JSP의 차이

Servlet와 JSP의 개념

  • 기능의 차이는 없고 역할의 차이만 있다.(하는 일은 동일)

Servlet 이란

  • 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program
  • Java 코드 안에 HTML코드(하나의 클래스)

gmlwjd9405.github.io/2018/10/28/servlet.html

 

[Web] Servlet이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

  • 자바 코드안에 HTML태그가 삽입되어있고, 확장자는 .java
  • HTML태그로 문자열(“”) 스크림으로 처리해야한다.

JSP 란

  • Java 언어를 기반으로 하는 Server Side 스크립트 언어
  • HTML 코드 안에 Java코드
  • Servlet의 모든 기능 + 추가적인 기능

출처 : https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

gmlwjd9405.github.io/2018/11/03/jsp.html

 

[Web] JSP란 (Java Server Pages) - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

  • HTML 코드안에 JAVA코드가 삽입
  • 자바코드를 <% %> 태그안에 처리해주어야 한다.

Servlet과 JSP의 차이

- Servlet

  • Java 코드 안에 HTML코드(하나의 클래스)
  • data processing(Controller)에 좋다.

- JSP

  • HTML 코드 안에 Java코드
  • presentation(View)에 좋다(요청 결과를 나타내는 HTML 작성에 유용)
  • JSP가 수정된 경우 재배포할 필요없이 WAS가 알아서 처리한다.(쉬운배포)

Servlet과 JSP의 관계

- JSP만을 이용하는 모델

출처 : https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

  • JSP가 사용자의 요청을 받아 Java Bean(DTO, DAO)을 호출하여 적절한 동적인 페이지를 생성한다.
  • 동작과정
    • JSP로 작성된 프로그램은 내부적으로 WAS에서 Servlet 파일로 변환
    • JSP 태그를 분행하고 추출하여 다시 순수한 HTML 웹 페이지로 변환
    • 클라이언트로 응답
  • 특징
    • 개발 속도가 빠르다.
    • 배우기 쉽다.
    • 프레젠테이션 로직(View)과 비즈니스 로직(Controller)이 혼재한다.
    • JSP 코드가 복잡해져 유지 보수가 어려워진다.

JSP와 Servlet을  모두 이용하는 모델(MVC Architecture)

출처 : gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

  • JSP와 Servlet을 모두 사용하여 프레젠테이션 로직(View)와 비즈니스 로직(Controller)을 분리한다.
  • View(보여지는 부분)는 HTML이 중심이 되는 JSP를 사용
  • Controller(다른 자바 클래스에 데이터를 넘겨주는 부분)는 Java 코드가 중심이 되는 Servlet을 사용
  • Model은 Java Beans로, DTO와 DAO를 통해 Mysql과 같은 Data Storage에 접근
  • 구체적인 MVC 패턴은 MVC-Architecture 참고

관련된 Post

  • Web Service의 기본동작과정 및 Servlet

gmlwjd9405.github.io/2018/10/28/servlet.html

 

[Web] Servlet이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

  • JSP의 개념과 기본 문법에 대한 설정

gmlwjd9405.github.io/2018/11/03/jsp.html

 

[Web] JSP란 (Java Server Pages) - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

  • Web Server와 WAS의 개념과 차이

gmlwjd9405.github.io/2018/10/29/web-application-structure.html

  • Web Application Structure와 web.xml 설정 내용, 역할 및 간단한 예시

gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

 

 

참조 : 

gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

 

[Web] Servlet과 JSP의 차이와 관계 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io