JSP
: Java 웹 애플리케이션을 개발하기 위한 기술 중 하나로, 서버 측에서 동적 웹 페이지를 생성하는 데 사용된다.
<특징>
- Java 기반의 기술
- HTML 문서 안에 Java 코드를 삽입할 수 있는 특별한 태그로 구성
- 동적 콘텐츠를 생성
- 웹 애플리케이션의 프론트엔드 부분을 구축하는 데 사용
- 웹 서버에서 동적으로 실행된다, JSP 엔진이 해당 페이지를 실행하고, HTML로 렌더링해 클라이언트에 반환
- 재사용 가능한 컴포넌트, 여러 웹 페이지에서 공유 및 재사용 가능
- 자바 기능 활용
JSP는 Servlet을 기반으로 동작한다.
Servlet은 Java 웹 애플리케이션의 핵심 구성 요소 중 하나로, 동적 웹 페이지 및 웹 서비스를 구현하는 데 사용
<%= %> 스크립틀릿(scriptlet)
: JSP의 스크립트 요소, 이 사이에 위치한 값을 문자열로 생성해줌.
JSP 코드 작성의 주된 목적:
웹 브라우저에 보여 줄 HTML 문서를 생성하는 것
HTML 문서를 생성하는 JSP 코드는 크게 '설정' 부분과 '응답 생성' 부분으로 구성됨
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML 문서</title>
</head>
<body>
<%
String bookTitle = "JSP 프로그래밍";
String author = "최범균";
%>
<b><%=bookTitle %></b>(<%= author %>)입니다.
</body>
</html>
1, 2행-설정 부분: JSP 페이지에 대한 정보
=> JSP 페이지가 생성하는 문서의 타입(종류), JSP 페이지에서 사용할 커스텀 태그, 사용할 자바 클래스 지정 등 표시
=> 정보 설정 시 <%@ page ... %> page 디렉티브 사용
나머지-생성 부분: HTML 코드 및 JSP 스크립트
<JSP의 스크립트 요소>
1. 스크립트릿(Scriptlet)
: JSP 페이지에서 자바 코드를 실행할 때 사용하는 코드 블럭
<%
자바코드 1;
자바코드 2;
자바코드 3;
......
%>
2. 표현식(Expression)
: 어떤 값을 출력 결과에 포함시키고자 할 때 사용
<%= 값 %>
<%@ 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>
<%
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
}
%>
1부터 10까지의 합은 <%= sum %>입니다.
<br>
<%
int sum2 = 0;
for (int i = 11; i <= 20; i++) {
sum2 = sum2 + i;
}
%>
11부터 20까지의 합은 <%= sum2 %>입니다.
</body>
</html>
3. 선언부(Declaration)
: 스크립트릿이나 표현식에서 사용가능한 메서드를 작성할 때 사용
<%!
public 리턴타입 메서드이름(파라미터목록) {
자바코드1;
자바코드2;
...
자바코드n;
return 값;
}
%>
- 선언부의 함수는 자바의 메서드와 동일
- 리턴타입: 메서드 실행 결과값의 타입 지정
- 메서드이름: 메서드의 이름 의미
- 파라미터 목록: 콤마로 구분된 파라미터의 목록 지정, 파라미터는 메서드 내에서 사용될 변수를 뜻함
- 자바코드 : 메서드 내에서 실행할 자바 코드
- return 값: 메서드의 실행 결과로 값을 리턴
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!public int multiply(int a, int b) {
int c = a * b;
return c;
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선언부를 사용한 두 정수값의 곲</title>
</head>
<body>
10 * 25 =
<%= multiply(10, 25) %>
</body>
</html>
'국비지원 > 백엔드' 카테고리의 다른 글
230203 Spring Boot + MyBatis 로 데이터베이스 연결 (0) | 2023.02.03 |
---|---|
230130 JSP 예제 (0) | 2023.01.30 |
230113 JSP 참고 링크 (0) | 2023.01.13 |
230110 Vue.js란? MVVM 구조 (0) | 2023.01.10 |
221230 JSP에서 jQuery 사용하기 (0) | 2022.12.30 |