끵뀐꿩긘의 여러가지

[부스트코스]웹 프로그래밍 23. JSP(2) 본문

부스트코스 - 웹/2. DB 연결 웹 앱

[부스트코스]웹 프로그래밍 23. JSP(2)

끵뀐꿩긘 2020. 3. 20. 13:00

스크립트 요소의 이해

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

 선언문

  • 선언문 : <%! %>
  • 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해 사용하는 요소
  • 선언문의 문법
  • <%! 문장 %>

스크립트릿

  • 스크립트릿 : <% %>
  • 가장 일반적으로 많이 쓰이는 스크립트 요소
  • 주로 프로그래밍의 로직을 기술할 때 사용
  • 스크립트릿에서 선언된 변수는 지역변수
  • 스크립트릿의 문법
  • <% 문장%>

표현식(Expression)

  • 표현식 : <%=%>
  • JSP 페이지에서 웹 브라우저에 출력할 부분을 표현 (즉, 화면에 출력하기 위한 것)
  • 스크립트릿내에서 출력할 부분은 내장객체인 out 객체의 print() 또는 println() 메소드를 사용해서 출력
  • 표현식의 문법
  • <%=문장%>

주석(Comment)

  • JSP페이지에서 사용할 수 있는 주석
  • HTML주석, 자바주석, JSP주석

1. HTML 주석

    • HTML 주석은 <!--로 시작해서 -->로 끝나는 형태
    • HTML 주석은 HTML주석을 사용한 페이지를 웹에서 서비스할 때 화면에 주석이 내용이 표시되지는 않으나 , [소스보기]수행하면 HTML주석의 내용이 화면에 표시.
    • HTML주석
1
<!-- html 주석입니다. -->
cs

2. JSP주석

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

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

3. 자바주석

    • 자바 주석은 //, /**/을 사용해서 작성.
    • //은 한 줄짜리 주석을 작성할 때 사용되고, /**/은 여러 줄의 주석을 작성할 때 사용
    • 스크립트릿이나 선언문에서 사용되는 주석으로, 자바와 주석 처리 방법이 같음
    • 자바주석
1
2
3
4
5
6
7
8
//주석
 
/*주석
 
여러 줄에 걸친 주석이다.
 
*/
 
cs

 

HTML,JSP,Java 주석의 차이: 어디서 주석 처리가 되는지가 다르다.

1.JSP - (변환)  -> 2.Java언어(servlet) - (브라우저) -> 3.html 출력

JSP 주석은 1 과정에서 주석처리

JAVA 주석은 2 과정에서 주석처리

HTML 주석은 브라우저에 출력되는 3과정에서 주석처리 된다.

--> 결과는 같다.

 

page 디렉티브

  • page 디렉티브 : <%@ %>
  • JPS 페이지에 대한 정보를 page 디렉티브의 속성들을 사용하여 정의한다.
  • page 디렉티브의 문법
  • <%@ 속성%>

ex)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> <%-- page 디렉티브 --%>
 
<!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++){
%><%-- 스크립트릿 --%>
 
id : <%=getId() %>
<H<%=%>> 아름다운 한글 </H<%=%>><%-- 표현식 --%>
 
</body>
</html>
 
<%!
    String id = "u001"//멤버변수 선언
    public String getId( ) { //메소드 선언
        return id;
    }
%> <%-- 선언문 --%>
cs

JSP 내장 객체란?

  • JSP를 실행하면 서블릿 소스가 생성되고 실행된다.
  • JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService() 메소드 안에 삽입되는 코드로 생성된다.
  • _jspService()에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있는데, 해당 객체들은 jsp에서도 사용 가능하다.
  • response, request, application, session, out과 같은 변수를 내장객체라고 한다.

JSP 내장객체

ex) request객체의 getRequestURL()메소드 사용(request.getRequestURL())

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ 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>
<%
    StringBuffer url = request.getRequestURL(); <%-- 내장 request 객체의 URL을 url 변수에 입력 --%>
 
    out.println("url : " + url.toString());
    out.println("<br>");
%>
</body>
</html>
cs

Comments