Front-end/부스트코스 : 웹 프로그래밍
[부스트코스] 2. DB연결 웹앱 : JSP란?
byolee
2020. 3. 15. 23:12
< JSP(Java Server Page) 란? >
- HTML 내에 Java 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어
- 모든 JSP 파일은 실행시 자바 서블릿으로 변환됨
- 구성요소 : 스크립팅, 지시자, 액션태그
JSP의 등장배경
- 1998년 MS에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script) 엔진을 발표
- 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편함
- 1999년 ASP에 대항하고자 썬마이크로시스템즈에서 JSP를 발표
<%@ 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>
--- scriptlet : 자바 코드를 입력할 수 있는 부분
<%
int total = 0;
for(int i = 1; i <= 10; i++){
total = total + i;
}
%>
1부터 10까지의 합 : <%=total %>
</body>
</html>
실행결과
JSP의 실행순서
- 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
- 브라우저가 요청한 JSP가 최초로 요청했을 경우만
- JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
- 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
- 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
- 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
<%@ 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>
hello!
<%
System.out.println("jsp");
%>
</body>
</html>
JSP 문법
JSP 페이지에서 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 이라는 3가지의 스크립트 요소가 있음
- 선언문 <%! %> : 전역변수 선언 및 메소드 선언에 사용
- 스크립트릿 <% %> : 프로그래밍 코드 작성
- 선언된 변수는 지역변수 -> Service 메소드 안에 선언되는 변수
- 주로 프로그래밍의 로직을 기술할 때 사용함
- 표현식 <%=문장%> : JSP 페이지에서 웹 브라우저에 출력할 부분 표현
<%@ 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>
id : <%=getId() %>
</body>
</html>
<%!
String id = "u001"; //멤버변수 선언
public String getId( ) { //메소드 선언
return id;
}
%>
<%@ 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>
<%
for(int i=1;i<6;i++){
%>
<H<%=i %>>테스트 중입니다.</H<%=i %>>
<%
}
%>
</body>
</html>
주석 (Comment)
JSP페이지에서 사용할 수 있는 주석 : HTML 주석, Java 주석, JSP 주석
- <!--comment--> : 웹에서 서비스할 때 화면에 표시되지는 않으나 소스보기에서는 보임
- //single line , /*multi line*/ : 서블릿으로 실행할 때 실행되지 않음
- <%--comment--%> : 웹 브라우저 상에서 소스보기를 해도 표시되지 않음, 자바로 변환되지도 않음
강의 링크 : https://www.edwith.org/boostcourse-web/lecture/16702/
[LECTURE] 1) JSP란? : edwith
들어가기 전에 마이크로소프트의 ASP(Active Server Pages)와 같은 스크립트 형태의 개발 방법이 인기를 얻게 되면서, 자바 진영에서도 대항하기 위해서 JSP를 발표하... - 부스트코스
www.edwith.org