JSP 요소 태그

⚡ 스마트 요약

JSP 요소 태그 구조를 통해 개발자는 코드를 삽입할 수 있습니다. Java 선언, 스크립틀릿, 표현식 및 주석 태그를 통해 페이지에 직접 변수를 생성하고, 논리를 실행하고, 동적 출력을 생성하고, 읽기 쉬운 문서를 단일 서버 렌더링 파일 내에서 작성할 수 있습니다.

  • 📝 선언 태그: `<%! %>` 태그는 서비스 메서드 외부, 서블릿 클래스 수준에서 변수와 메서드를 선언합니다.
  • ⚙️ 스크립틀릿 태그: <% %> 태그는 다음과 같은 위치를 지정합니다. Java 클라이언트 요청이 있을 때마다 _jspservice() 내부에서 실행되는 명령문입니다.
  • 🔢 표현 태그: `<%= %>` 태그는 산술 또는 논리 표현식을 평가하고 그 결과를 출력합니다.
  • 💬 댓글 태그: <%– –%> 태그는 컨테이너와 브라우저에서 메모를 숨깁니다.ping 코드가 문서화되어 있고 깔끔합니다.
  • 🚀 서버에서 실행: 완성된 JSP 페이지는 WAR 파일로 패키징되어 JBoss와 같은 웹 서버에 배포됩니다.
  • 📁 디렉토리 구조: JSP 파일은 WEB-INF 폴더 외부에 위치하고, 설정 파일과 라이브러리 파일은 WEB-INF 폴더 내부에 있습니다.

JSP 태그

본 튜토리얼에서는 JSP의 기본 태그와 JSP에 주석을 추가하는 방법을 학습합니다. 이와 함께 JSP를 생성하고 서버에서 해당 JSP를 실행합니다.

JSP 선언

  • 선언 태그는 Java 변수, 메소드, 클래스를 선언하는 코드입니다. 선언 태그 내부에 변수나 메소드를 선언하면 서블릿 클래스 내부에서 선언이 이루어지지만 서비스 메소드 외부에서 선언된다는 의미입니다.
  • 선언 태그 내에서 정적 멤버, 인스턴스 변수(숫자 또는 문자열을 선언할 수 있음) 및 메서드를 선언할 수 있습니다.

선언 태그의 구문:

<%!  Dec var  %>

여기서 Dec var는 선언 태그 내부의 메서드 또는 변수입니다.

예:

이 예에서는 선언 태그를 사용하겠습니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

코드 설명:

Code 10 라인 : 여기서는 변수 개수를 10으로 초기화하기 위해 선언 태그를 사용하고 있습니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

JSP 선언

출력:

선언 태그에 선언된 변수가 출력으로 인쇄됩니다.

JSP 스크립틀릿

  • 스크립틀릿 태그를 사용하면 쓰기가 가능합니다. Java 코드를 JSP 파일로 변환합니다.
  • JSP 컨테이너는 jsp에서 서블릿을 생성하는 동안 _jspservice() 메서드의 명령문을 이동합니다.
  • 클라이언트의 각 요청에 대해 JSP의 서비스 메소드가 호출되므로 Scriptlet 내부의 코드가 모든 요청에 ​​대해 실행됩니다.
  • Scriptlet에는 JSP가 호출될 때마다 실행되는 Java 코드가 포함되어 있습니다.

스크립틀릿 태그의 구문:

<% java code %>

여기서 <%%> 태그는 스크립릿 태그이며 그 안에 Java 코드를 배치할 수 있습니다.

예:

이 예에서는 Java 코드를 포함하는 Scriptlet 태그를 사용합니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

코드 설명:

Code 10~14행: 두 개의 변수 num1 및 num2 를 사용하는 Scriptlet 태그에서. 세 번째 변수 num3을 사용하여 합산하면 num1과 num2가 됩니다. 출력은 num3입니다.

코드를 실행하면 다음과 같은 출력이 표시됩니다.

JSP 스크립틀릿

출력:

스크립틀릿 번호의 출력은 num50과 num1를 더한 2입니다.

JSP 표현

  • 표현식 태그는 그 안에 배치된 표현식을 평가합니다.
  • 저장된 애플리케이션에 저장된 데이터에 액세스합니다.
  • 산술 및 논리와 같은 표현식을 만들 수 있습니다.
  • 스크립트 없는 JSP 페이지를 생성합니다.

구문 :

<%= expression %>

여기서 표현식은 산술 또는 논리 표현식입니다.

예:

이 예에서는 표현식 태그를 사용하고 있습니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

코드 설명:

Code 12 라인 : 여기서는 두 숫자(예: num1과 num 2)를 곱한 다음 세 번째 숫자(예: num3)를 더하는 표현식을 사용하는 표현식 태그를 사용합니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

JSP 표현

출력:

표현 번호는 120인데, 이는 두 수 num1과 num2를 곱하고 그 수에 세 번째 수를 더한 것입니다.

JSP 주석

주석은 JSP 컨테이너가 특정 텍스트와 명령문을 무시하려고 할 때 사용됩니다.

특정 콘텐츠를 숨기려면 해당 내용을 댓글 섹션에 추가하면 됩니다.

구문 :

<% -- JSP Comments %>

이 태그는 JSP에서 주석을 달기 위해 사용되며 JSP 컨테이너에서는 무시됩니다.

이것은 브라우저에서 무시되는 HTML 주석입니다.

예:

이 예에서는 JSP 주석을 사용하고 있습니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

코드 설명:

Code 10 라인 : 여기서는 코드에 어떤 내용이 있는지 설명하기 위해 코드에 JSP 주석을 추가합니다. JSP 컨테이너에서 무시되었습니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

JSP 주석

출력:

println 메소드로 인쇄된 출력을 얻습니다. 주석은 컨테이너에서 무시됩니다.

간단한 JSP 페이지 만들기

  • JSP 페이지에는 다음과 같은 HTML 본문이 통합되어 있습니다. Java 그것에 코드
  • 우리는 선언, 스크립트, 표현식, 주석 태그를 포함하는 간단한 JSP 페이지를 만들고 있습니다.

예:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

코드 설명:

Code 1 라인 : 여기서는 언어, contentType 및 pageEncoding과 같은 지시문을 사용합니다. 언어는 Java 콘텐츠 유형은 표준 문자 집합 ISO 8859를 사용하는 text/html입니다. 페이지 인코딩은 표준 문자 집합입니다.

Code 11 라인 : 여기서는 JSP 주석을 사용하여 JSP에 주석을 추가합니다.

Code 14 라인 : 여기서는 12로 초기화되는 변수 num32 및 num12를 선언합니다.

Code 15 라인 : 여기서는 두 숫자 num12와 num32를 곱하는 표현식을 사용하고 있습니다.

Code 16 라인 : 여기서는 날짜 객체를 사용하여 오늘 날짜를 가져옵니다.

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

간단한 JSP 페이지 만들기

출력:

우리는 여기서 인쇄하고 있습니다.

  • 이것은 전문가 JSP 예제입니다.
  • 숫자는 num12*num32(12*12)입니다.
  • 오늘 날짜가 현재 날짜입니다.

간단한 JSP 페이지를 실행하는 방법

  • JSP는 웹 서버나 애플리케이션 서버에서 실행될 수 있습니다.
  • 여기서는 웹 서버를 사용할 것이며 이를 war 애플리케이션에 포함하는 서버에 배포할 수 있습니다.
  • 애플리케이션(war)에서 JSP를 생성할 수 있습니다.

이는 다음과 같은 디렉토리 구조를 갖는 애플리케이션이며, 애플리케이션을 빌드해야 합니다.

단순 JSP 페이지 실행

이 애플리케이션을 빌드해야 하며, 빌드가 성공하면 다음 메시지가 나타납니다.

단순 JSP 페이지 실행

애플리케이션을 빌드한 후에는 애플리케이션을 서버에서 실행해야 합니다.

웹서버에서 JSP를 실행하려면 IDE 프로젝트( 이 경우에 사용됨) 많은 옵션이 있습니다. 서버에서 실행 옵션을 선택합니다. 아래 스크린샷에 나와 있습니다.

다이어그램에서 다음 사항이 설명됩니다.

  1. 서버를 선택하거나 이 애플리케이션에 서버를 수동으로 추가하는 두 가지 옵션이 있습니다. 이 경우 JBoss 서버를 이미 애플리케이션에 추가했으므로 기존 서버를 선택합니다.
  2. 서버를 선택하면 선택하려는 서버가 포인트 2에 서버 옵션이 표시됩니다. 이 애플리케이션에는 여러 서버가 구성될 수 있습니다. 모든 옵션 중에서 하나의 서버를 선택할 수 있습니다
  3. 해당 옵션을 선택하고 완료 버튼을 클릭하면 해당 서버에서 응용 프로그램이 실행됩니다.

단순 JSP 페이지 실행

아래 스크린샷에서 JSP 프로그램이 실행되고 테스트 애플리케이션이 배포되는 것을 확인할 수 있습니다. JBoss 서버 빨간색 상자에 표시했습니다.

단순 JSP 페이지 실행

JSP의 디렉토리 구조

디렉토리 구조에는 모든 구성 파일과 라이브러리 파일이 포함된 WEB-INF 폴더가 있는 루트 폴더가 있습니다.

JSP 파일이 WEB-INF 폴더 외부에 있습니다.

JSP의 디렉토리 구조

JSP의 디렉토리 구조

예:

이 예제에서는 다음과 같은 폴더 구조를 가진 테스트 애플리케이션이 있습니다.

JSP의 디렉토리 구조

자주 묻는 질문

`declaration` 태그는 변수와 메서드를 서블릿 클래스 수준, 즉 서비스 메서드 외부에 배치합니다. `scriptlet` 태그는 코드를 서비스 메서드 내부에 배치하여 모든 클라이언트 요청 시 실행되도록 합니다.

아니요. 스크립틀릿 믹스 Java 마크업을 사용하는 기존 방식은 유지보수가 어렵습니다. 최신 JSP 페이지는 표현 언어, JSTL 및 태그 라이브러리를 선호하여 프레젠테이션과 비즈니스 로직을 분리하고 가독성을 향상시킵니다.

표현식 태그는 컨테이너가 문자열로 변환하여 출력하는 단일 값을 포함합니다. 여기에 세미콜론을 추가하면 문장이 되는데, 이는 표현식 태그 내에서 유효하지 않습니다.

AI는 일반적인 설명으로부터 선언, 스크립틀릿 및 표현식 태그를 생성하고, 구문 오류를 표시하며, JSTL, Hel과 같은 더 깔끔한 대안을 제안할 수 있습니다.ping 초보자도 올바른 JSP 페이지를 더 빠르게 만들 수 있습니다.

예. AI 도구는 스크립틀릿이 많이 포함된 페이지를 표현 언어와 JSTL로 리팩토링하여 내장된 코드를 줄일 수 있습니다. Java개발자는 출력 결과를 검토하여 논리와 범위 동작이 동일하게 유지되는지 확인해야 합니다.

이 게시물을 요약하면 다음과 같습니다.