간단히 말해서 Servlet은 웹 서버에서 실행되고 HTTP 클라이언트에서 오는 요청과 HTTP 서버의 데이터베이스 또는 응용 프로그램 사이에서 중간 계층 역할을 하는 Java 프로그램으로 정의할 수 있습니다. JSP는 단순히 다음을 포함하는 텍스트 문서입니다. 두 가지 유형의 텍스트:미리 정의된 정적 텍스트와 서버 응답이 수신된 후 렌더링되는 동적 텍스트.
다음은 ArrayList와 HashSet의 중요한 차이점입니다.
Sr. 아니요. | 키 | 서블릿 | JSP |
---|---|---|---|
1 | 구현 | 서블릿은 자바 언어로 개발되었습니다. | JSP는 주로 HTML 언어로 작성되지만 Java 코드도 작성할 수 있지만 이를 위해서는 JSTL 또는 다른 언어가 필요합니다. |
2 | MVC | MVC와 달리 서블릿을 요청 프로세스를 수신하고 응답을 다시 보내는 컨트롤러로 지정할 수 있습니다. | 한편, JSP는 서블릿에서 반환된 응답을 렌더링하는 뷰의 역할을 합니다. |
3 | 요청 유형 | 서블릿은 모든 유형의 프로토콜 요청을 수락하고 처리할 수 있습니다. | 반면에 JSP는 HTTP 요청과만 호환됩니다. |
4 | 세션 관리 | 서블릿에서는 기본적으로 세션 관리가 활성화되어 있지 않으므로 사용자가 명시적으로 활성화해야 합니다. | 반면에 JSP에서는 세션 관리가 자동으로 활성화됩니다. |
5 | 성능 | 서블릿은 JSP보다 빠릅니다. | JSP는 먼저 JSP를 Java 코드로 변환한 다음 컴파일하기 때문에 서블릿보다 느립니다. |
6 | 수정 사항 반영 | 서블릿의 수정은 코드를 반영하기 위해 변경한 대로 서버를 다시 로드하고, 다시 컴파일하고, 다시 시작해야 하기 때문에 시간이 많이 소요되는 작업입니다. | 반면에 JSP 수정은 새로고침 버튼만 클릭하면 코드 변경 사항이 반영되기 때문에 빠릅니다. |
서블릿의 예
JavaTester.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class JavaTester extends HttpServlet { private String message; public void init() throws ServletException { // Do required initialization message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set response content type response.setContentType("text/html"); // Actual logic goes here. PrintWriter out = response.getWriter(); out.println(message); } }
출력
Hello World