우당탕탕 개발일지

45일차_JSP 전역 vs 지역, 주석 본문

비트캠프/이론 및 정리

45일차_JSP 전역 vs 지역, 주석

ujin302 2024. 9. 5. 00:29
반응형

 

프로젝트 구조 

프로젝트 : testJSP 

 

Java

  • HelloServlet.java

Jsp

  • gugudan.jsp
  • hello.jsp

 

1. JSP의 전역변수 vs 지역변수

hello.jsp

전역변수 <%! %>

지역변수 <% %>

 

age 변수는 전역 변수이다. 따라서 새로고침할 때마다 지역변수 구역에 있는 age++; 를 실행하게 된다.

그렇기에 새로고침할 때마다 age의 값이 1씩 증가되는 것을 확인할 수 있다. 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%!
// JAVA 구역 - 전역 변수
// 1번만 실행
	String name = "홍길동";
	int age = 25;
%>

<%
// JAVA 구역 - 지역변수
// 요청시마다 실행 
	age++;
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello JSP <br>

안녕하세요 JSP <br>

나의 이름은 <%=name %> 입니다. <br>
<%out.println("나의 이름은 " + name + " 입니다. ");%> <br>

나의 나이는 <%=age %>살 입니다. <br>
</body>
</html>

 

 

5번 새로고침 후 26 -> 31로 변경

 

 

 

2. JSP 주석 vs HTML 주석 

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%!
// JAVA 구역 - 전역 변수
// 1번만 실행
	String name = "홍길동";
	int age = 25;
%>

<%
// JAVA 구역 - 지역변수
// 요청시마다 실행 
	age++;
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- Hello JSP <br> html 주석 -->

<%-- 안녕하세요 JSP <br> jsp 주석 --%>

나의 이름은 <%=name %> 입니다. <br>
<%out.println("나의 이름은 " + name + " 입니다. ");%> <br>

나의 나이는 <%=age %>살 입니다. <br>
</body>
</html>

 

 

html 주석이 걸려있어도 age가 +1씩 증가된다.

즉, html 주석은 웹페이지에서 결과만 보이지 않을 뿐, 실제로 작동은 되고 있다.

따라서 완전히 지우기 위해선 jsp 주석을 사용하여야 한다.

 

 

3. 구구단 출력

gugudan.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
td{
	padding: 5px;
	width: 100px;
}
</style>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<% for(int i=1; i<10; i++) { %>
	<tr>
	<% for(int j=2; j<10; j++) { %>
		<td><%=j%>*<%=i%> = <%=(j*i)%></td>
	<%}%>
	</tr>
<%}%>
</table>
</body>
</html>

 

 

 

 

 

 

반응형

'비트캠프 > 이론 및 정리' 카테고리의 다른 글

49일차_MyBatis  (0) 2024.09.10
48일차_페이징, MyBatis 맛보기  (0) 2024.09.09
47일차_회원정보 수정  (0) 2024.09.09
46일차_로그인, Cookie vs HttpSession  (0) 2024.09.05
45일차_회원가입  (0) 2024.09.05