** 📌JSP에서 조건문과 반복문 사용하기 **
JSP 안에서 Java 문법을 사용해 흐름 제어하기
if
,for
,while
을 사용한 실전 예제 + 기술 면접까지 커버
🧩 목차
- JSP에서 Java 문법 사용 가능 여부
- 조건문 (
if
,if-else
,switch
) - 반복문 (
for
,while
,foreach
) - 실전 예제 (출력 반복 / 조건 분기)
- 기술 면접 대비 요약
- 마무리 정리 + Notion 작성 팁
✅ 1. JSP 안에서 Java 코드 사용 가능할까?
JSP 문법 | 설명 | 예시 |
---|---|---|
<% %> |
Java 문법을 삽입 | <% int a = 10; %> |
<%= %> |
출력 (out.print) | <%= a %> |
👉 JSP는 내부적으로 Servlet(Java) 으로 변환되기 때문에,
JSP 안에서 Java의 조건문
, 반복문
등을 사용할 수 있음!
✅ 2. 조건문 사용법 (if / if-else / switch)
🔸 if
, if-else
구조
<%
int score = 85;
if(score >= 90) {
%>
<p>등급: A</p>
<%
} else if(score >= 80) {
%>
<p>등급: B</p>
<%
} else {
%>
<p>등급: C 이하</p>
<%
}
%>
🔸 switch
문 구조
<%
String grade = "B";
switch(grade) {
case "A":
%>
<p>최우수</p>
<%
break;
case "B":
%>
<p>우수</p>
<%
break;
default:
%>
<p>일반</p>
<%
}
%>
✅ 3. 반복문 사용법 (for / while / foreach)
🔹 for
문: 정해진 횟수 반복
<%
for(int i = 1; i <= 5; i++) {
%>
<p><%= i %>번째 반복입니다.</p>
<%
}
%>
🔹 while
문: 조건 만족 시 반복
<%
int i = 1;
while(i <= 3) {
%>
<p>현재 i 값은 <%= i %> 입니다.</p>
<%
i++;
}
%>
🔹 for-each
문: 배열/리스트 반복
<%
String[] fruits = {"사과", "바나나", "포도"};
for(String fruit : fruits) {
%>
<p>과일: <%= fruit %></p>
<%
}
%>
✅ 4. 실전 예제 모음 🎯
✅ 예제 1: 로그인 여부 출력 (if 조건문)
<%
String user = request.getParameter("user");
if(user == null || user.equals("")) {
%>
<p>로그인이 필요합니다.</p>
<%
} else {
%>
<p><%= user %> 님 환영합니다!</p>
<%
}
%>
✅ 예제 2: 반복 출력 (for문)
<%
for(int i = 1; i <= 3; i++) {
%>
<p>공지사항 <%= i %>번입니다.</p>
<%
}
%>
✅ 예제 3: 목록 출력 (foreach 스타일)
<%
String[] books = {"JSP 기초", "Java 중급", "Servlet 마스터"};
for(String book : books) {
%>
<li><%= book %></li>
<%
}
%>
✅ 5. 기술 면접 대비 요약 💬
질문 | 핵심 답변 요약 |
---|---|
JSP에서 Java 코드 사용 가능한가요? | 가능! <% %> 안에서 Java 문법 사용 가능 |
조건문은 어떻게 작성하나요? | Java의 if , else if , else , switch 그대로 사용 |
반복문도 되나요? | 네! for , while , foreach 전부 사용 가능 |
JSP 안에서 Java 코드를 많이 쓰면 문제 없나요? | 복잡한 비즈니스 로직은 Servlet/Model로 분리하는 것이 유지보수에 좋음 (MVC 패턴 추천) |
✅ 6. 마무리 요약 🧠
- ✍ JSP 안에서는 Java 문법을 그대로 사용할 수 있음
- 🔁
for
,while
,foreach
사용 가능 - 🔍 조건 분기
if / else
,switch
모두 지원 - 💡 하지만 너무 많은 Java 코드는 JSP가 지저분해지므로 MVC 패턴으로 분리하는 것이 좋음