-
[부스트코스] 2. DB연결 웹앱 : JSP란?Front-end/부스트코스 : 웹 프로그래밍 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/
'Front-end > 부스트코스 : 웹 프로그래밍' 카테고리의 다른 글
[부스트코스/back-end] 2. DB연결 웹앱 : redirect (0) 2020.03.21 [부스트코스] 2. DB연결 웹앱 : JSP 내장객체 (0) 2020.03.21 [부스트코스] 2. DB 연결 웹앱 : WEB UI 개발 (0) 2020.03.07 [부스트코스] 2. DB 연결 웹앱 : JavaScript (0) 2020.03.07 [부스트코스] 프로젝트 A-1. 나를 소개하는 홈페이지 만들기 (0) 2020.02.25