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 |