JSP와 Servlet의 차이

myminimin·2023년 7월 24일
0
post-custom-banner

  1. JSP (JavaServer Pages):
    • JSP는 HTML 문서 안에 Java 코드를 삽입하여 동적인 웹 페이지를 생성하는 기술이다. 서버 측에서 실행되며, 클라이언트에게 결과로 HTML 페이지를 전달한다.
    • ".jsp" 확장자를 가지며 HTML, XML, 자바 코드, JSTL 태그 등을 혼합하여 작성한다.
    • JSP는 Servlet으로 변환되어 웹 애플리케이션의 WAR 파일에 포함 된다
  2. Servlet:
    • Java 코드 안에 HTML을 삽입하는 방식으로 작성되며, 코드를 통해 요청 데이터를 처리하고 동적으로 생성된 HTML 페이지를 응답으로 보낸다.
    • 자바 기반의 클래스로, 웹 서버에서 동작하는 웹 애플리케이션의 일부로서 클라이언트의 요청에 대해 동적인 처리를 수행하는 기술이다.

요약하면 JSP는 HTML 문서 안에 Java 코드를 삽입하는 방식으로 동적인 웹 페이지를 생성하는 기술이며, 주로 프레젠테이션 로직에 사용된다. 반면에 Servlet은 자바 기반의 클래스로, 클라이언트의 요청에 대해 동적으로 처리하고 응답을 생성하는 기술로, 주로 비즈니스 로직을 처리하는 데 사용된다.

하지만 Servlet은 웹 애플리케이션의 개발과 유지보수를 어렵게 만드는 몇 가지 단점을 갖고있다보니 요즘 웹 개발에서는 URL 매핑하는 용도로만 사용하는 경우가 많다. (Spring 같은 프레임워크의 등장으로 대체되면서..)

1. 복잡한 코드 구조: 비즈니스 로직과 뷰(프레젠테이션) 로직이 함께 섞이게 되다보니 코드의 유지보수와 가독성이 저하될 수 있다.
2. 확장성의 한계: 서블릿은 Java 코드로 작성되어 있어서 웹 애플리케이션의 기능을 확장하거나 변경하기 어려울 수 있다.
3. 스레드 관리: 서블릿은 요청마다 새로운 스레드를 생성하여 처리하는데, 이로 인해 많은 동시 요청이 발생하면 서버의 성능이 저하될 수 있다.

이러한 문제를 해결하고 개발 생산서을 높이기 위해 스프링과 같은 웹 프레임워크가 등장하게 된 것. 스프링은 서블릿을 기반으로 한 프레임워크로, 서블릿의 단점을 보완하고 좀 더 효율적인 웹 개발을 할 수 있도록 지원한다.

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 7월 25일

호호 JSP가 더 좋아요.

답글 달기