👨💻JSP의 특징
- 동적 웹 어플리케이션 컴포넌트 ( 자바 코드의 사용 가능 )
- JSP 확장자
- 클라이언트의 요청에 동적으로 동작하고, 응답은 HTML을 이용한다.
- JSP는 웹 서버와 통신시에 자동으로 Servlet으로 변환된다.
- MVC 패턴에서 View로 이용한다.
👨💻JSP 태그의 개념
- Servlet은 JAVA 언어를 이용하여 문서를 작성하고, 출력 객체를 이용하여 HTML코드를 삽입한다.
- JSP는 서블릿과 반대로 HTML코드에 JAVA언어를 삽입하여 동적문서를 만들 수 있다.
- HTML 코드안에 JAVA 코드를 삽입하기 위해서는 JSP 태그를 이용해야하며, 이러한 태그를 학습해야 한다.
스크립트릿(Scriptlet)
JSP 페이지에서 JAVA 언어를 사용하기 위한 요소 중 가장 많이 사용하는 태그이다.
스크립트릿 안에는 우리가 알고 있는 거의 모든 JAVA 코드를 사용 할 수 있다.
선언(Declaration)
JSP 페이지 내에서 사용되는 변수 또는 메서드를 선언할 때 사용한다.
여기 선언된 변수 및 메서드는 전역의 의미(멤버변수)로 사용된다.
표현식(Expression)
JSP 페이지 내에서 사용되는 변수의 값 또는 메서드 호출 결과 값을 출력하기 위해 사용한다.
결과 값의 데이터 유형은 String 이며, 세미콜론을 사용할 수 없다.
표현식은 out.println()을 대체한다.
주석
주석은 자주 사용하듯이, 실제 프로그램 실행에는 영향이 없고, 프로그램 설명 등의 목적으로 사용되는 태그이다.
HTML 및 JSP 주석이 각각 별도로 존재한다.
HTML 주석은 <!ㅡㅡ ㅡㅡ> 표기하고, 웹 브라우저에서 페이지 소스보기를 하면 주석도 표기됩니다.
JSP 주석은 <%ㅡㅡ ㅡㅡ%> 표기하고, 웹 브라우저에서 소스보기를 해도 나타나지 않는다.
JAVA의 주석도 혼용 사용이 가능하다.
지시자(Directive)
지사자는 JSP 페이지의 전체적인 속성을 지정할 때 사용한다.
- Page
JSP 페이지에 대한 정보를 지정한다.
JSP가 생성하는 문서의 Type, Import, Error 페이지 등 페이지에서 필요로 하는 정보를 설정한다.
- include
JSP 페이지의 특정 영역에서 다른 문서를 포함시킨다.
보통 저같은 경우는 BaseLayout을 지정할 떄 include를 자주 사용했던 거 같아요. - taglib
JSP 페이지에서 사용할 태그 라이브러리를 지정한다.
JSP 아키텍처
JSP 파일을 실행(Request)하면 웹 서버에서 우선 JSP파일을 JAVA 코드로 변환한다.
그 이후 그 파일을 컴파일하고 HTML로 응답(Response)한다.
JSP 아키텍처 ( Architecture )
랜더링
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
out.println("hello world"); // 바깥 창 출력
System.out.println("hello world"); // 아래 콘솔 창 출력
int a = 1;
out.println("<br>변수값: " + a);
%>
</body>
</html>
|
cs |
JSP로 구구단을 구해보는 문제
<h3>구구단 3단을 표현식을 이용해서 출력</h3>
<% for(int i = 1; i <= 9; i++) { %>
3 x <%=i %> = <%=3*i %> <br>
<% } %>
체크박스를 반복문을 통해 출력
<h3>반복문으로 체크박스에 숫자번호를 붙여서 20개 생성</h3>
<% for(int i = 1; i <= 20; i++) { %>
<input type='checkbox' name='ex'><%=i %>
<% } %>
1~81까지 숫자를 테이블에 표현(중첩반복)
<h3>1~81까지 숫자를 테이블에 테이블에 표현(중첩반복)</h3>
<table border = "1">
<%
int count = 1;
for(int i = 1; i <= 9; i++) {
%>
<tr>
<% for(int j = 1; j <= 9; j++) { %>
<th><%= count++ %> </th>
<% } %>
</tr>
<% } %>
</table>
728x90
'Programming > JSP' 카테고리의 다른 글
[JSP] 쿠키와 세션 - 세션 (0) | 2024.05.06 |
---|---|
[JSP] 쿠키와 세션 - 쿠키 (0) | 2024.05.06 |
[JSP] 내장 객체 (0) | 2024.05.06 |
[JSP] GET과 POST (0) | 2024.05.06 |
[JSP] 서버와 클라이언트 (0) | 2024.05.06 |