※ JSP와 HTML 동작 차이

  • HTML 파일 : 확장자가 "html"인 파일로서 클라이언트의 브라우저에 의해서 내용을 해석하여 실행하며 자바나 톰캣 서버가 설치되어 있지 않아도 정상적으로 실행된다.
  • JSP 파일 : 톰캣 서버가 번역하여 그 결과를 HTML 태그로 변환한 후 웹브라우저에 내려 보내는데, 톰캣이 동작시키기 위해서는 JSP 파일은 확장자가 "jsp"이어야 하고 페이지에 JSP인 것을 알리는 페이지 지시자인 <%@ page%>가 반드시 있어야 한다. 

 

• 두 수의 합을 출력하는 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>
<%
	int num1 = 30;
	int num2 = 40;
	int add = num1 + num2;
	out.print(num1 + "+" + num2 + "=" + add);
%>
</body>
</html>

JSP 문서는 HTML 태그 사이에 <% %>(스크립트릿 태그)를 추가하여 그 안에 자바 코드를 집어넣으면 서블릿 컨테이너는 이 부분을 JSP로 인식하여 이를 해석한 후 HTML 형태로 변환한다.

위의 코드에서는, JSP 페이지에 기술한 태그들은 서블릿 내의 자바 코드로 변환되고, 그러면서 스크립트릿 내의 자바 코드는 그대로 서블릿 코드로 들어간다.

 

즉, 클라이언트가 브라우저의 주소 입력란에 요청할 JSP 페이지 이름을 입력하면 웹 서버에게 JSP 페이지를 요청하는 것이다. 웹 서버는 JSP 페이지를 찾아서 클라이언트에게 HTML로 응답하는데, 서블릿 컨테이너는 <% %> 부분을 JSP로 인식하여 이를 해석한 후 HTML 형태로 변환한다. 그래서 JSP 페이지 소스는 스크립트릿 태그는 없어지고 HTML로만 구성된 문서형태가 된다.

 

 

※ JSP와 HTML의 좋은 사용시기

  • JSP : 서버 측에서 동작해야 할 코드들이 있을 경우 사용한다. 서버에서 보낸 데이터에 따라 값이 바뀔 수 있는 변수에 저장된 내용들을 출력할 때 사용한다.
  • HTML : 변화가 없는 단순 상수값을 출력할 때 사용한다.

+ Recent posts