이 섹션에서는 JSP 개발의 기본 구문을 간략하게 소개합니다.
스크립트 프로그램은 스크립트 언어에서 유효한 한 Java 문, 변수, 메소드 또는 표현식을 원하는 수만큼 포함할 수 있습니다.
스크립트 프로그램의 구문 형식:
<% 코드 조각%>
또는 다음과 같이 동등한 XML 문을 작성할 수 있습니다.
<jsp:scriptlet> 코드 조각</jsp:scriptlet>
모든 텍스트, HTML 태그 및 JSP 요소는 스크립트 프로그램 외부에 작성되어야 합니다.
아래에는 이 튜토리얼의 첫 번째 JSP 예제인 예제가 나와 있습니다.
<html><head><title>Hello World</title></head><body>Hello World!<br/><% out.println("귀하의 IP 주소는 " + request.getRemoteAddr()) %입니다. ></body></html>
참고: Apache Tomcat이 C:apache-tomcat-7.0.2 디렉터리에 설치되어 있고 실행 환경이 올바르게 설정되었는지 확인하세요.
위 코드를 hello.jsp에 저장한 후 C:apache-tomcat-7.0.2webappsROOT 디렉터리에 배치하고 브라우저를 열고 주소 표시줄 .jsp에 http://localhost:8080/hello를 입력합니다. . 실행 후 다음과 같은 결과를 얻습니다.
선언문은 후속 Java 코드에서 사용할 하나 이상의 변수와 메소드를 선언할 수 있습니다. JSP 파일에서는 이러한 변수와 메소드를 사용하기 전에 선언해야 합니다.
JSP 선언의 구문 형식:
<%! 선언; [ 선언 ]+ ... %>
또는 다음과 같이 동등한 XML 문을 작성할 수 있습니다.
<jsp:declaration>코드 조각</jsp:declaration>
프로그램 예:
<%! int i = 0; <%! int a, b, c %> <%! Circle(2.0);
JSP 표현식에 포함된 스크립팅 언어 표현식은 먼저 문자열로 변환된 후 표현식이 나타나는 위치에 삽입됩니다.
표현식의 값이 문자열로 변환되므로 HTML 태그인지 여부에 관계없이 텍스트 행에서 표현식을 사용할 수 있습니다.
표현식 요소에는 Java 언어 사양을 준수하는 모든 표현식이 포함될 수 있지만 세미콜론을 사용하여 표현식을 종료할 수는 없습니다.
JSP 표현식의 구문 형식:
<%= 표현%>
마찬가지로 동일한 XML 문을 작성할 수 있습니다.
<jsp:표현> 표현식</jsp:표현>
프로그램 예:
<html> <head><title>주석 테스트</title></head> <body><p> 오늘 날짜: <%= (new java.util.Date()).toLocaleString()%></ 피></body> </html>
실행 후 다음과 같은 결과를 얻습니다.
오늘 날짜: 2013년 9월 11일 21:24:25
JSP 주석에는 코드에 주석을 달고 코드의 특정 섹션을 주석으로 처리하는 두 가지 주요 기능이 있습니다.
JSP 주석의 구문 형식:
<%-- 여기에 JSP 주석을 입력할 수 있습니다--%>
프로그램 예:
<html> <head><title>댓글 테스트</title></head> <body> <h2>댓글 테스트</h2> <%-- 댓글 중 이 부분은 웹에 표시되지 않습니다. 페이지-- %> </body> </html>
실행 후 다음과 같은 결과를 얻습니다.
댓글 테스트
다양한 상황에서 주석을 사용하기 위한 문법 규칙:
문법 | 설명하다 |
---|---|
<%--설명--%> | JSP 주석, 주석 내용은 브라우저로 전송되지 않거나 컴파일되지 않습니다. |
<!-- 댓글 --> | HTML 댓글은 브라우저를 통해 웹페이지의 소스코드를 볼 때 댓글 내용을 볼 수 있습니다. |
<% | 정적 <% 상수를 나타냅니다. |
%> | 정적 %> 상수를 나타냅니다. |
' | 속성에 사용되는 작은따옴표 |
" | 속성에 사용되는 큰따옴표 |
JSP 지시문은 전체 JSP 페이지와 관련된 속성을 설정하는 데 사용됩니다.
JSP 명령 구문 형식:
<%@ 지시어 속성="값" %>
세 가지 지시어 태그가 있습니다:
지침 | 설명하다 |
---|---|
<%@ 페이지 ... %> | 스크립트 언어, 오류 페이지, 캐시 요구 사항 등과 같은 페이지의 종속성 속성을 정의합니다. |
<%@ 포함 ... %> | 다른 파일 포함 |
<%@ taglib ... %> | 사용자 정의 태그가 될 수 있는 태그 라이브러리의 정의를 소개합니다. |
JSP 동작 태그는 XML 구문 구조를 사용하여 서블릿 엔진을 제어합니다. 동적으로 파일을 삽입하고, JavaBean 구성요소를 재사용하고, 사용자를 다른 페이지로 안내하고, Java 플러그인용 관련 HTML을 생성하는 등의 작업을 수행할 수 있습니다.
동작 태그에는 XML 표준을 엄격하게 준수하는 하나의 구문 형식만 있습니다.
<jsp:action_name 속성="값" />
동작 태그는 기본적으로 사전 정의된 일부 기능입니다. 다음 표에는 사용 가능한 JSP 동작 태그 중 일부가 나열되어 있습니다.
문법 | 설명하다 |
---|---|
jsp:포함 | 현재 페이지에 정적 또는 동적 리소스를 포함하는 데 사용됩니다. |
jsp:useBean | JavaBean 구성요소 찾기 및 초기화 |
jsp:setProperty | JavaBean 구성요소의 값 설정 |
jsp:getProperty | JavaBean 구성 요소의 값을 출력에 삽입합니다. |
JSP:앞으로 | 사용자의 요청이 포함된 요청 객체를 한 JSP 파일에서 다른 JSP 파일로 전달합니다. |
jsp:플러그인 | 생성된 HTML 페이지에 Applet 및 JavaBean 객체를 포함하는 데 사용됩니다. |
jsp:요소 | XML 요소를 동적으로 생성 |
jsp:속성 | 동적으로 생성된 XML 요소의 속성 정의 |
jsp:본문 | 동적으로 생성된 XML 요소의 본문을 정의합니다. |
jsp:텍스트 | 템플릿 데이터를 캡슐화하는 데 사용됩니다. |
JSP는 암시적 객체라고 알려진 9개의 자동 정의 변수를 지원합니다. 아래 표에는 이러한 9개의 암시적 객체에 대한 소개가 나와 있습니다.
물체 | 설명하다 |
---|---|
요구 | HttpServletRequest 클래스의 인스턴스 |
응답 | HttpServletResponse 클래스의 인스턴스 |
밖으로 | 웹 페이지에 결과를 출력하는 데 사용되는 PrintWriter 클래스의 인스턴스 |
세션 | HttpSession 클래스의 인스턴스 |
애플리케이션 | 애플리케이션 컨텍스트와 관련된 ServletContext 클래스의 인스턴스 |
구성 | ServletConfig 클래스의 인스턴스 |
페이지컨텍스트 | JSP 페이지의 모든 객체와 네임스페이스에 대한 액세스를 제공하는 PageContext 클래스의 인스턴스 |
페이지 | Java 클래스의 이 키워드와 유사 |
예외 | Exception 클래스의 객체는 오류가 발생한 JSP 페이지의 해당 예외 객체를 나타냅니다. |
JSP는 Java 언어를 완벽하게 지원합니다. JSP 프로그램에서 Java API를 사용할 수 있으며 판단문, 루프문 등을 포함한 Java 코드 블록을 생성할 수도 있습니다.
If…else 블록은 다음 예를 참조하세요.
<%! int day = 3; %> <html> <head><title>IF...ELSE 예</title></head> <body><% if (day == 1 | day == 7) { %> <p> 오늘은 주말입니다</p><% } else { %> <p> 오늘은 주말이 아닙니다</p><% } %></body> </html>
실행 후 다음과 같은 결과를 얻습니다.
오늘은 주말이 아니네요
이제 switch...case 블록을 살펴보겠습니다. 이는 if...else 블록과 매우 다르며 다음과 같이 스크립트의 태그에 완전히 포함되어 있습니다.
<%! int day = 3; %> <html> <head><title>SWITCH...CASE 예</title></head> <body><% switch(day) { 사례 0: out.println( "일요일입니다."); break; 사례 1: out.println("월요일입니다.") break; 사례 2: out.println("화요일입니다."); 사례 3: out.println("오늘은 수요일입니다."); break; 사례 4: out.println("금요일입니다.") break; ); 중단; 기본값: out.println("토요일입니다.") } %></body> </html>
실행 후 다음과 같은 결과를 얻습니다.
수요일이에요.
루프 문
Java의 세 가지 기본 루프 유형(for, while 및 do...while)을 JSP 프로그램에서 사용할 수 있습니다.
for 루프의 예를 살펴보겠습니다.
<%! intfontSize; %> <html> <head><title>FOR LOOP 예</title></head> <body><%for(fontSize = 1;fontSize <= 3;fontSize++){ %> < font color="green" size="<%=fontSize %>"> JSP 튜토리얼 </font><br /><%}%></body> </html>
실행 후 다음과 같은 결과를 얻습니다.
JSP 튜토리얼JSP 튜토리얼 JSP 튜토리얼while 루프를 사용하여 위의 예를 다시 작성하십시오.
<%! intfontSize %> <html> <head><title>WHILE LOOP 예</title></head> <body><%while(fontSize <= 3){ %> <font color="green" size="<%=fontSize %>"> JSP 튜토리얼 </font><br /><%fontSize++;%><%}%></body> </html>
실행 후에도 동일한 결과를 얻습니다.
JSP 튜토리얼JSP 튜토리얼 JSP 튜토리얼JSP는 모든 Java 논리 및 산술 연산자를 지원합니다.
다음 표에는 우선순위에 따라 일반적인 JSP 연산자가 나열되어 있습니다.
범주 | 연산자 | 연관성 |
---|---|---|
접미사 | () [] .(점 연산자) | 왼쪽에서 오른쪽으로 |
1위안 | ++ - - ! | 오른쪽에서 왼쪽으로 |
다중성 | */% | 왼쪽에서 오른쪽으로 |
가산성 | + - | 왼쪽에서 오른쪽으로 |
옮기다 | >> >>> << | 왼쪽에서 오른쪽으로 |
관계 | > >= < <= | 왼쪽에서 오른쪽으로 |
같음/같지 않음 | == != | 왼쪽에서 오른쪽으로 |
비트 AND | & | 왼쪽에서 오른쪽으로 |
비트 XOR | ^ | 왼쪽에서 오른쪽으로 |
비트 또는 | | | 왼쪽에서 오른쪽으로 |
논리 AND | && | 왼쪽에서 오른쪽으로 |
논리적 또는 | || | 왼쪽에서 오른쪽으로 |
조건부 판단 | ?: | 오른쪽에서 왼쪽으로 |
과제 | = += -= *= /= %= >>= <<= &= ^= |= | 오른쪽에서 왼쪽으로 |
콤마 | , | 왼쪽에서 오른쪽으로 |
JSP 언어는 다음 상수를 정의합니다.
부울: 참 및 거짓;
정수 유형(int): Java와 동일합니다.
Float: Java와 동일합니다.
문자열: 작은따옴표 또는 큰따옴표로 시작하고 끝납니다.
널: 널.