카테고리 없음
[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 일련물
호환 관계:
- Servlet이 요청 처리
- JSP에 값을 전달 (setAttribute)
- 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: 요청 유지 여부의 차이