국비지원/백엔드

230117 JSP란?

선SEON 2023. 1. 17. 15:22

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