Notice
Recent Posts
Recent Comments
Link
YTCW
servlet 과 jsp(javaServer Pages) 차이점 본문
서블릿(Servlet)과 JSP(JavaServer Pages)는 모두 Java를 기반으로 한 웹 애플리케이션 개발에 사용되지만, 그 목적과 사용 방식에서 차이가 있습니다.
서블릿(Servlet)
정의: 서블릿은 Java 클래스로, HTTP 요청을 처리하고 응답을 생성하는 서버 측 컴포넌트입니다.
- 역할: 동적으로 웹 페이지를 생성하기 위한 로직을 작성하는 데 사용됩니다. 데이터베이스와의 상호작용, 비즈니스 로직 처리 등이 주된 역할입니다.
- 구조: 순수한 Java 코드로 작성되며, HTML과 같은 응답 콘텐츠는 Java 코드 안에서 문자열로 생성됩니다.
- 예시:
- 장점: 강력한 제어가 가능하며, 모든 처리가 Java 코드로 이루어져 있어 유연성이 높습니다.
- 단점: HTML이나 다른 출력 데이터를 Java 코드 안에 직접 작성해야 하기 때문에 유지보수가 어렵고 코드가 복잡해질 수 있습니다.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>Hello Servlet</h1>");
out.println("</body></html>");
}
JSP (JavaServer Pages)
정의: JSP는 HTML 파일 내에 Java 코드를 삽입하여 동적인 웹 페이지를 생성할 수 있는 기술입니다. HTML 코드에 Java 코드를 섞어서 작성할 수 있습니다.
- 역할: 주로 사용자에게 보여지는 화면을 구성하는 데 사용됩니다. 즉, 프리젠테이션 로직을 담당하며, 서블릿에서 처리된 데이터를 화면에 보여주는 역할을 합니다.
- 구조: HTML과 함께 Java 코드를 섞어 사용할 수 있으며, JSP 페이지는 내부적으로 서블릿으로 변환되어 실행됩니다.
- 장점: HTML 파일과 유사하게 작성되므로 웹 디자이너가 작업하기 쉽습니다. 서블릿에 비해 더 간결하게 웹 페이지를 작성할 수 있습니다.
- 단점: 비즈니스 로직이 HTML과 섞일 경우 코드가 복잡해질 수 있으며, 로직이 많은 페이지에서는 비효율적일 수 있습니다.
<html>
<body>
<h1>Hello JSP</h1>
<%
out.println("This is a dynamic message generated by JSP.");
%>
</body>
</html>
차이점 요약
특성서블릿(Servlet)JSP(JavaServer Pages)
주요 역할 | 비즈니스 로직, 데이터 처리 | 사용자에게 보여지는 화면 구성 |
코드 구조 | 순수 Java 코드로 작성 | HTML 내에 Java 코드를 삽입 |
주요 용도 | 서버 요청 처리 및 응답 생성 | HTML 기반의 동적인 웹 페이지 생성 |
유연성 | 높은 유연성 (순수 Java 코드) | 작성이 간편하나 복잡한 로직 처리에는 부적합 |
컴파일 방식 | 컴파일된 Java 클래스 | 내부적으로 서블릿으로 변환 후 실행 |
서블릿은 로직 처리가 주로 필요한 부분에, JSP는 프론트엔드 화면을 구성하는 부분에 주로 사용됩니다. 보통 실무에서는 이 둘을 함께 사용하여 MVC 패턴을 구현하는 경우가 많습니다.
'java' 카테고리의 다른 글
java Lambda (1) | 2024.09.13 |
---|---|
java 내부 클래스 (0) | 2024.09.13 |
java singleton (0) | 2024.09.10 |
java lombok (0) | 2024.09.10 |
java MVC 패턴 (2) | 2024.09.10 |