<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JSP & 서블릿 연습</title>
</head>
<body>
<%!
int num = 1;
String str = "테스트 문자열";
List<String> arr = new ArrayList<>();
int addNums(int n1, int n2) {
return n1 + n2;
}
%>
// [1]
<%
System.out.println("안녕 JSP!");
for (int i = 0; i < 5; ++i) {
arr.add(str + " " + num);
++num;
}
for (String s : arr) {
System.out.println(s);
}
%>
<%
if (num >= 5) {
%>
<p>if문 동작</p>
<%
} else {
%>
<p>else문 동작</p>
<%
}
%>
num의 값은 <%=num%>입니다.<br/> // [2]
<p>addNum(2, 3)의 값은 <%=addNums(2, 3)%>입니다.</p>
</body>
</html>
위 jsp 파일을 실행하면 [2]에서 num의 최종 값은 6이 되어야 하는데, 11로 출력이 됩니다. 그리고 for문은 5번만 돌아야 하는데 "테스트 문자열"이 다음과 같이 10번만큼 추가 출력됩니다.
안녕 JSP!
테스트 문자열 1
테스트 문자열 2
테스트 문자열 3
테스트 문자열 4
테스트 문자열 5
안녕 JSP!
테스트 문자열 1
테스트 문자열 2
테스트 문자열 3
테스트 문자열 4
테스트 문자열 5
테스트 문자열 6
테스트 문자열 7
테스트 문자열 8
테스트 문자열 9
테스트 문자열 10
[1] 부분이 왜 이렇게 반복되는지 모르겠네요...도움 부탁드립니다.