[CS스터디]Day 18

DaramGee·2024년 4월 19일

Study

목록 보기
4/20

일시 : 2024.04.23 14:00~14:30

JSP와 서블릿 설명

"JSP(JSP, JavaServer Pages)와 서블릿(Servlet)은 모두 Java 기술을 사용하여 동적 웹 애플리케이션을 개발하는 데에 쓰입니다.

JSP (JavaServer Pages)
JSP는 HTML 내에 Java 코드를 포함하여 동적인 웹 페이지를 생성하는 기술입니다.
주로 UI(사용자 인터페이스)를 설계하고, HTML 코드와 함께 Java 코드를 사용하여 동적인 콘텐츠를 생성하는 데에 사용됩니다.
Java 코드는 <% %> 태그 내에 작성되며, HTML 요소와 혼합하여 사용됩니다.
JSP 파일은 서블릿으로 변환되어 컴파일되고 실행됩니다.

서블릿 (Servlet)
서블릿은 Java 클래스로, 웹 서버에서 동작하는 Java 프로그램입니다.
주로 비즈니스 로직, 데이터 처리, 데이터베이스 연동 등의 백엔드 로직을 처리하는 데에 사용됩니다.
HTML 코드를 자바 코드 안에 문자열 형태로 작성하여 응답을 생성합니다.
HTTP 요청에 대한 처리를 doGet() 또는 doPost() 메서드를 오버라이딩하여 구현합니다.

일반적으로, JSP와 서블릿은 함께 사용하여 웹 애플리케이션을 개발합니다. UI는 JSP로, 비즈니스 로직은 서블릿으로 분리하여 개발하며, MVC 패턴을 따르는 웹 애플리케이션 구조를 구축하는 데에 활용됩니다.

참고) 차이점 요약:
JSP는 UI를 구성하고 동적 콘텐츠를 생성하는 데에 주로 사용됩니다.
서블릿은 비즈니스 로직을 처리하고 요청을 처리하는 데에 주로 사용됩니다.
JSP는 HTML 코드 내에 Java 코드를 포함하는 반면, 서블릿은 Java 코드 내에 HTML을 포함합니다.
JSP는 보다 간단하고 빠르게 웹 페이지를 개발할 수 있게 해주며, 서블릿은 더 세밀한 제어와 로직 구현이 가능합니다."

forward와 redirect 설명

"forward와 redirect는 서블릿에서 다른 페이지로 이동하는 데 사용되는 두 가지 주요 메서드입니다.

Forward (포워드)
서버 내에서만 이동합니다. 클라이언트는 이동을 인식하지 못합니다.
RequestDispatcher 객체를 사용하여 현재 요청과 관련된 다른 리소스(서블릿, JSP 등)로 제어를 넘깁니다.
주로 같은 웹 어플리케이션 내에서 페이지 간에 데이터를 공유하거나 처리할 때 사용됩니다.
주로 내부 리소스 간의 이동이기 때문에 요청 URL이 변경되지 않습니다.

코드)
RequestDispatcher dispatcher = request.getRequestDispatcher(""targetPage.jsp"");
dispatcher.forward(request, response);

Redirect (리다이렉트)
클라이언트에게 새로운 URL로 이동하라는 명령을 보냅니다. 클라이언트는 새로운 URL로 다시 요청을 보냅니다.
HTTP 상태 코드 302를 사용하여 리다이렉션을 수행합니다.
주로 외부 URL로 이동하거나 현재 요청의 상태를 유지하지 않고 새로운 요청을 처리할 때 사용됩니다.
요청 URL이 변경되기 때문에 클라이언트는 새로운 URL을 요청하게 됩니다.

코드)
response.sendRedirect(""newPage.jsp"");

따라서, 포워드는 서버 내에서의 내부 이동이며 클라이언트에게는 노출되지 않지만, 리다이렉트는 클라이언트에게 새로운 URL로 이동하도록 요청하여 URL이 변경됩니다. 선택은 요구사항과 상황에 따라 달라질 수 있습니다."


스터디 현황

0개의 댓글