자바 공부/[자바] 기본 공부

[JSP 2일차] 스크립트 태그

햅2024 2024. 11. 20. 21:35

JSP (Java Server Page)

  • HTML을 중심으로  Java와 연동하여 사용하는 웹 언어
  • HTML 안에 Java 코드를 잙성할 수 있는 언어 
  • 서블릿에서  HTML 을 작성하는 것은 매우 번거롭기 때문에 JSP에서 Java 코드를 사용하는 것이 편하고 자주 사용됨

(1) 스크립트 태그(scipt tag)

  • HTML 코드에 Java 코드를 넣어 프로그램이 수행하는 기능을 구현
  • 1) 선언문(declaration)
    • <%!  ~  %> 자바 변수나 메서드 정의에 사용
  • 2) 스크립틀릿(scriptlet)
    • <%  ~  %> 자바 변수 선언 및 자바 로직을 작성할 때 사용
  • 3) 표현식(expression)
    • <%= ~ %> 값을 직접 지정

 

Index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<h1>JSP Examples</h1>
	<hr>
	<a href="01_script_test.jsp">Script Test 1</a><br>
</body>
</html>

링크 클릭 시 01_script_test.jsp 페이지로 이동

 

01_script_test.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
	<h1>Welcome to My Page!!</h1>
	<hr>
	<!-- JSP declaration Tag -->
	<%! 
		int count = 10;
		String color = "magenta";
		String makeLower(String data){
			return data.toLowerCase();
		}
	%>
	
	<!-- JSP Scriptlet -->
	<%
		out.println("This it my first JSP page!!!<br>");
		System.out.println("드디어 출력");
		
		out.println("Total count is " + count + "<br>");
		
		for(int i=0;i<count;i++){
			out.println("Current i is " + i + "<br>");
			out.println("<hr>");
		}
	%>
	
	<br><br>
	
	<!-- JSP Expression -->
	<!-- 절대 세미콜론을 넣으면 안됨 -->
	<input type = "text" value = "My Name is Mr.Owen"><br>
	<input type = "text" style = 'color:<%=color %> ' type="text/css" value = '<%=makeLower("My Name is Mr.Owen")%>'><br>
	
</body>
</html>

 

 

02_script_test.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome</title>
</head>
<body>
	<h1>Scripting Tag</h1>
	<hr>
	<%!
		public int myMethod(int count){
		return ++count;
	}
	%>	
	<%
		int count = 5;
		out.println(myMethod(0));
		out.println(count);
	%>
	<%
		out.println(myMethod(count));
	%>
</body>
</html>

03_ script_test.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Script Example</title>
</head>
<body>
	<h1>Scripting Tag - Current Time</h1>
	<h2>Java가 기본으로 제공하는 클래스 이용하기</h2>
	<hr>
	<%
		java.util.Date date = new java.util.Date();
		java.text.SimpleDateFormat ft = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	%>
	<p>Today : <%=date %></p>
	<p>Today : <%=date.toString() %></p>
	<p>Today : <%=new java.util.Date() %></p>
	<!-- Simple Date Format -->
	<p>Today : <%= ft.format(date) %></p>
	
</body>
</html>

 

 

 

04_ script_test.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Script Test - Table Creation</title>
</head>
<body>
	<h1>Scripting Tag - Table Creation</h1>
	<hr>
	<!-- Manual Job -->
	<table border = "1">
		<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
		<tr><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr>
		<tr><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td></tr>	
	</table>
	<br><br>
	
	<!-- Using JSP -->
	<!--html이 아닌 자바 식에는 전부 <%%> 을 달아준다. -->
	<table border = "1">
	<%
		final int ROWS = 3;
		final int COLUMNS = 5;
		for(int i=0;i<ROWS;i++){
	%>
		<tr>
	<% 
		for(int j=0;j<COLUMNS;j++){
	%>			
			<td><%= (j + i * COLUMNS + 1) %></td>
	<% 
			}
	%>
		</tr>
	<%
		}
	%>
	</table>
	
	
</body>
</html>