6월 2일 시험준비

JSP 시험범위

Chapter 02. 표현문 태그 - 출력 3가지

1. 표현문 <%= %>

What: 변수나 값을 바로 HTML에 출력하는 태그
Why: 간단한 값 하나를 화면에 표시할 때
How: <%= 변수명 %> (세미콜론 없음)

2. 스크립틀릿 출력 <% out.print() %>

What: 스크립틀릿 내에서 out 객체를 사용한 출력 방법
Why: 조건문, 반복문과 함께 출력할 때
How: <% out.print(변수명); %> (세미콜론 필요)

3. EL 태그 ${ }

What: Expression Language, 서버에서 전달된 데이터 출력
Why: 자바 코드 없이 깔끔하게 데이터 출력할 때
How: ${변수명} (null 값 자동 처리, scope 자동 검색)


Chapter 03. 디렉티브 태그

import 속성

What: JSP에서 자바 클래스를 사용하기 위한 선언
Why: 자바 패키지의 클래스를 사용하려면 반드시 필요
How: <%@ page import="java.util.Date" %>

include 디렉티브 태그

What: 다른 파일의 내용을 현재 페이지에 포함시키는 정적 방법
Why: 공통 부분(헤더, 푸터)을 재사용할 때
How: <%@ include file="header.jsp" %> (컴파일 시점에 소스코드 합쳐짐, URL 안바뀜)


Chapter 04. 액션 태그

forward 액션 태그

What: 서버 내부에서 다른 페이지로 요청을 전달
Why: 처리 후 결과 페이지로 이동할 때
How: <jsp:forward page="result.jsp"/> (URL 안바뀜, request 유지)

include 액션 태그

What: 실행 시점에 다른 페이지의 결과를 포함
Why: 동적으로 내용을 포함시킬 때
How: <jsp:include page="menu.jsp"/> (실행 시점에 결과 합쳐짐, URL 안바뀜)

param 액션 태그

What: forward나 include 시 파라미터를 전달하는 태그
Why: 페이지 이동할 때 데이터를 함께 전달하려면
How: <jsp:param name="username" value="홍길동"/>

자바빈즈 액션 태그 - useBean

What: 자바빈즈 객체를 생성하고 JSP에서 사용할 수 있게 하는 태그
Why: 자바 객체를 JSP에서 쉽게 사용하려면
How: <jsp:useBean id="user" class="com.example.User" scope="page"/>


Chapter 05. 내장 객체

request 내장 객체

What: 클라이언트의 요청 정보를 담고 있는 객체
Why: 사용자가 전송한 데이터를 받거나 데이터를 저장할 때
How:

String id = request.getParameter("id");        // 파라미터 받기
request.setAttribute("data", value);           // 데이터 저장
Object data = request.getAttribute("data");     // 데이터 가져오기

response 내장 객체

What: 서버에서 클라이언트로 보내는 응답을 제어하는 객체
Why: 다른 페이지로 완전히 이동시킬 때
How: response.sendRedirect("main.jsp"); (URL 바뀜, request 새로 생성)


Chapter 07. 파일 업로드

MultipartRequest 클래스 생성

What: 파일 업로드를 처리하기 위한 외부 라이브러리 클래스
Why: 일반 request로는 파일 업로드 처리 불가능
How:

MultipartRequest multi = new MultipartRequest(
    request,                           // 요청 객체
    "c:/upload",                       // 저장 경로
    1024*1024*5,                      // 최대 크기
    "UTF-8",                          // 인코딩
    new DefaultFileRenamePolicy()     // 중복 파일명 처리
);

(cos.jar 라이브러리 필수)

MultipartRequest 메소드

What: 업로드된 파일과 일반 데이터를 처리하는 메소드들
Why: 파일 정보와 일반 폼 데이터를 각각 처리해야 함
How:

String name = multi.getParameter("name");              // 일반 파라미터
String fileName = multi.getOriginalFileName("file");   // 원본 파일명
String savedName = multi.getFilesystemName("file");    // 저장된 파일명

핵심 차이점 정리

출력 방법 차이

  • 표현문: 세미콜론 X, 직접 출력
  • 스크립틀릿: 세미콜론 O, 자바 문법
  • EL: null 안전, 자동 scope 검색

include 방법 차이

  • 디렉티브: 컴파일 시점, 소스코드 합쳐짐, 정적
  • 액션태그: 실행 시점, 결과만 합쳐짐, 동적
  • 둘 다 URL 안바뀜

페이지 이동 차이

  • forward: 서버 내부 이동, URL 안바뀜, request 유지
  • redirect: 브라우저가 새로 요청, URL 바뀜, request 새로 생성

암기

1. <%= name %>                          // 표현문 (세미콜론 X)
2. <% out.print(name); %>               // 스크립틀릿 출력 (세미콜론 O)
3. request.getParameter("id")           // 파라미터 받기
4. response.sendRedirect("main.jsp")    // 리다이렉트 (URL 바뀜)
5. <jsp:forward page="admin.jsp"/>      // 포워드 (URL 안바뀜)
6. MultipartRequest                     // 파일 업로드 클래스
7. cos.jar                              // 필수 라이브러리
8. <%@ page import="java.util.Date" %>     // import
9. <%@ include file="header.jsp" %>        // include 디렉티브 (정적)
10. <jsp:include page="menu.jsp"/>          // include 액션태그 (동적)

'JSP' 카테고리의 다른 글

SQL DB 연결하기  (0) 2025.06.04
mysql 8.0.33 설치환경 구축  (0) 2025.06.02
JSP 출력 <%= %> ${ } out.print();  (0) 2025.05.30
JSP 어트리뷰트 Set → Get 순서  (0) 2025.05.30
JSP 00 문제  (0) 2025.05.30