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>

'자바 공부 > [자바] 기본 공부' 카테고리의 다른 글
| [JSP 공부 4일차] 액션 태그, 쿠키 (0) | 2024.11.25 |
|---|---|
| [JSP 3일차] 디렉티브 태그와 인클루드 태그 (0) | 2024.11.21 |
| [JSP 2일차] OrderServlet 파라미터 입력 연습 (1) | 2024.11.20 |
| [JSP 1일차] 서블릿의 Get, Post (0) | 2024.11.19 |
| [JSP 1일차] CGI와 서블릿 (1) | 2024.11.19 |