본문 바로가기

Tech/BoostCourse - WEB

[부스트코스] JSP 문법

스크립트 요소의 이해

- JSP 페이지에서는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 이라는 3가지의 스크립트 요소를 제공한다.

선언문(Declaration)

- 선언문: <%! %>

- 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해 사용하는 요소

- 선언문의 문법

   <%! 문장 %>

 

스크립트릿이나 그냥 html 코드를 사용한 경우 jsp가 서블릿으로 바뀌면서 _jspService()라는 메소드 내에서 작성된다. 하지만 이 선언문을 사용하면 service() 메소드가 아니라 클래스 body 쪽에 해당 코드가 작성된다.

 

exam1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>

id : <%=getId() %>
</body>
</html>

<%!
    String id = "u001"; //멤버변수 선언
    public String getId( ) { //메소드 선언
        return id;
    }
%>

실행 결과

 

 

스크립트릿(Scriptlet)

- 스크립트릿: <% %>

- 가장 일반적으로 많이 쓰이는 스크립트 요소

- 주로 프로그래밍의 로직을 기술할 때 사용

- 스크립트릿에서 선언된 변수는 지역변수

- 스크립트릿의 문법

  <% 문장 %>

 

스크립트릿에 작성된 코드는 _jspService() 메소드 내에 작성된다. 스크립트릿에 작성된 코드는 응답 결과에 포함되지 않는다.

 

exam2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
for(int i = 1; i <= 5; i++){
%>
<H<%=i %>> 아름다운 한글 </H<%=i %>>
<%
}
%>
</body>
</html>

실행 결과

 

 

표현식(Expression)

- 표현식: <% %>

- JSP 페이지에서 웹 브라우저에 출력할 부분을 표현. 즉, 화면에 출력하기 위한 것.

- 스크립트릿내에서 출력할 부분은 내장객체인 out객체의 print()또는 println()메소드를 사용해서 출력

- 표현식의 문법

   <%=문장%>

 

 

주석(Comment)

- JSP페이지에서 사용할 수 있는 주석

   (HTML주석, 자바주석, JSP주석 사용 가능)

 

- HTML 주석

  - HTML 주석은 <!--로 시작해서 -->로 끝나는 형태

  - HTML 주석은 HTML 주석을 사용한 페이지를 웹에서 서비스할 때 화면에 주석의 내용이 표시되지는 않으나, [소스보기]를 수행하면 HTML주석의 내용이 표시

<!-- html 주석입니다. -->

- JSP 주석

  - JSP 페이지에서만 사용되며 <%--로 시작해서 --%>로 끝나는 형태

  - JSP 주석은 해당 페이지를, 웹 브라우저를 통해 출력 결과로서 표시하거나, 웹 브라우저 상에서 소스 보기를 해도 표시 되지 않음. 또한 JSP주석 내에 실행코드를 넣어도 그 코드는 실행되지 않음.

<%-- JSP 주석입니다. --%>

- Java 주석

  - 자바 주석은 //, /**/을 사용해서 작성.

  - //은 한 줄짜리 주석을 작성할 때 사용되고, /**/은 여러 줄의 주석을 작성할 때 사용

  - 스크립트릿이나 선언문에서 사용되는 주석으로, 자바와 주석 처리 방법이 같음

//주석

/*주석

여러 줄에 걸친 주석이다.

*/

 

주석 실습 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--jsp 주석문입니다.
여러줄을 입력할 수 있습니다. --%>
<!-- html 주석문입니다. -->
<%
/*
자바 여러줄 주석문입니다.
*/
for(int i = 1; i <= 5; i++){ // java 한줄 주석문입니다.
%>
<H<%=i %>> 아름다운 한글 </H<%=i %>>
<%
}
%>
</body>
</html>

 

[부스트코스 관련 강의 링크]

JSP문법 - https://www.edwith.org/boostcourse-web/lecture/16704/

 

[LECTURE] 3) JSP 문법 : edwith

들어가기 전에 JSP는 HTML태그와 자바코드를 섞어서 개발할 수 있습니다. JSP에서 자바코드는 어떻게 입력을 하는지, 어떤 결과를 출력하려면 어떤 것을 사용해야 하는지에 대해서... - 부스트코스

www.edwith.org

반응형