카테고리 없음

[Servlet & JSP 웹 처리 흐름 요약]

chanwoo23 2025. 4. 8. 16:47

[Servlet & JSP 웹 처리 흐름 요약]


▶ Slide 1: 제목

Java Web: Servlet & JSP 처리 환경 전체 해가

  • 리턴스 프린터그램의 기능
  • Servlet과 JSP 호환의 방식을 이해하는 트랙

▶ Slide 2: Servlet이란?

정의: 서버카운트가 받은 요청과 응답을 처리하는 Java 클래스

  • HTTP 요청 처리기
  • 로직을 진행하고, 결과를 조회하여 JSP에 전달
  • 예) 로그인, 검색, 게시물 등

다음 메서드에서 처리:

  • doGet(), doPost()
  • request.getParameter()
  • request.setAttribute()
  • RequestDispatcher.forward()

✅ Servlet 예제 코드:

@WebServlet("/search")
public class SearchServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String keyword = request.getParameter("keyword");
        List<String> result = searchFromDB(keyword); // DB 검색 예시

        request.setAttribute("result", result);
        RequestDispatcher dispatcher = request.getRequestDispatcher("/result.jsp");
        dispatcher.forward(request, response);
    }
}

▶ Slide 3: JSP와의 관계

JSP (JavaServer Pages)

  • HTML 구조에 Java 코드를 서버에서 추가
  • 정적 HTML + 도움되는 Java 일련물

호환 관계:

  1. Servlet이 요청 처리
  2. JSP에 값을 전달 (setAttribute)
  3. JSP가 값 출력 (getAttribute, ${})

✅ JSP 예제 코드 (result.jsp):

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

검색 결과

  • ${item}

▶ Slide 4: 객체 환경 환경 프로세스 환경 방식

[브라우저] 
   ↓ /search?keyword=java 
[Servlet] 
   - getParameter("keyword")
   - DB 검색 진행
   - setAttribute("result", 검색결과)
   - forward("result.jsp")
   ↓
[JSP]
   - ${result} 로 값 표시
   ↓
[브라우저] 
   완성된 HTML 발송

▶ Slide 5: 유용한 Servlet & JSP 구문 정리

기능ServletJSP

범위 요청 처리 값 출력
용도 로직, DB 처리 HTML 프리젠터에 보여주기
행동 Java 코드 100% HTML + Java 혼합
만약 전달 setAttribute ${} or getAttribute()

▶ Slide 6: forward vs redirect (참고)

항목 forward redirect
URL 변경 X O
request 유지 O X
설명 서버 내부에서 이동 클라이언트가 새로 요청

▶ Slide 7: 핵심 용어 정리

용어 설명
request.getParameter("name") 브라우저가 보낸 파라미터 값 가져오기 (문자열 형태)
request.setAttribute("key", value) JSP에 값을 전달할 때 사용
request.getAttribute("key") JSP에서 전달받은 값 꺼낼 때 사용
getRequestDispatcher("/page.jsp") 요청을 어느 JSP로 넘길지 지정
forward(request, response) 현재 요청과 응답을 그대로 다음 JSP로 넘김
sendRedirect("url") 클라이언트에게 새 요청을 하게 함 (URL 변경)
RequestDispatcher forward와 include를 처리하는 객체
c:set JSTL에서 JSP 내부에서 변수 설정 시 사용
EL(Expression Language) ${변수명} 형태로 JSP에서 값 출력하는 표현식

▶ Slide 8: 마무리 요약

  • Servlet: 로직 처리 중심, JSP에 데이터 전달
  • JSP: 데이터를 받아 HTML 생성
  • RequestDispatcher: 흐름 연결 도구
  • getParameter vs getAttribute: 클라이언트 입력 vs 서버 내부 값
  • forward vs redirect: 요청 유지 여부의 차이