본문 바로가기

Tech/BoostCourse - WEB

[부스트코스] JSP란?

JSP(JavaServer Pages)?

자바 서버 페이지는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다. (위키백과)

 

JSP 등장 배경

- 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script)엔진을 발표함.(1998년)

- 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발방식이 불편함.

- ASP에 대항하기 위해 1999년 썬마이크로시스템즈에서 JSP 발표

- JSP는 실제로 서블릿 기술을 사용.

 

WebContents 밑에 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>

</body>
</html>

다음과 같이 html파일과 유사한 내용을 담고 있다.

html과는 다르게 상단에 <% %>로 묶여있는 부분이 있다.

 

간단하게 실습을 해보자

1부터 10까지 합을 출력하는 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>sum10</title>
</head>
<body>

<% 
    int total = 0;
    for(int i = 1; i <= 10; i++){
        total = total + i;
    }
%>

1부터 10까지의 합 : <%=total %> // out.print(total); -> <%=total %>

</body>
</html>

 

jsp는 jsp 자체가 동작하는 것이 아니라 서블릿으로 바뀌어서 동작한다.

jsp에는 약속된 몇가지 기호들을 가지고 있는데 이러한 기호들은 서블릿으로 바꿀 때 어떻게 바뀌어야하는지 알려준다.

 

<%@ page %> : page 지시문. language, contentType, pageEncoding 등을 명시

<% %> : 스크립트릿(scriptlet).html 안에서 프로그램을 실행하고자 할 때 사용. 꺽새 안에 자바 코드를 넣을 수 있음

<%= %> : 표현식. 자바 코드에서 얻어낸 값을 응답결과로 주고 싶을 때 사용

 

* jsp script 요소 참고 자료

https://m.blog.naver.com/PostView.nhn?blogId=tahyun911&logNo=220695624317&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[JSP] JSP Script 요소 - Scriptlet(스크립트릿), Expression(표현식), Declaration(선언문)

Script 요소 : Jsp 내부에서 변수선언, 연산 등 여러가지 일을 할 수 있다.1. Scriptle...

blog.naver.com

 

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

JSP란? - https://www.edwith.org/boostcourse-web/lecture/16702/

 

[LECTURE] 1) JSP란? : edwith

들어가기 전에 마이크로소프트의 ASP(Active Server Pages)와 같은 스크립트 형태의 개발 방법이 인기를 얻게 되면서, 자바 진영에서도 대항하기 위해서 JSP를 발표하... - 부스트코스

www.edwith.org

반응형