[스프링 강의] #3 JSP(Java Server Pages)란? / JSP와 Servlets의 차이 :: 잡다한 프로그래밍
반응형

1. JSP란?

Java Server Pages로서 정적 HTML과 동적인 컨텐츠를 섞어놓은 기술 서블릿 처럼 동적인 페이지를 기술 할 수 있다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Order Confirmation</TITLE>
<LINK REL=STYLESHEET
	HREF="JSP-Style.css"
    TYPE="text/css">
</HEAD>
<BODY>
Thanks for ordering <%= request.getParameter("title") %>!
</BODY>
</HTML>

다음은 JSP예시이다. <%= request.getParameter("title")%> 부분이 HTML 내부에 동적인 JAVA코드가 삽이되어있는 부분이다. JSP 가 실행되면 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고

그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.


2. JSP 와 Servlet의 차이

JSP는 HTML 내부에 JAVA코드를 넣어 처리하고 Servlet은 JAVA코드내에 HTML을넣어 표시한다. 따라서 Servlet은 JSP보다 코드를 읽고 사용하기에 불편하다는 단점이 존재한다 따라서 Servlet은 데이터를 프로세싱 하기에 적합하고, JSP는 데이터를 보여주기에 적합하다


3. JSP 문법

1) JSP Expression

<%= 내용 %> 으로서 out 객체를 통해 print해주는 역할을 한다.

 

2) JSP Scriptlets

<% Java Code %> 로서 좀 더 복잡한 기능 구현을 하고 싶다면 <%  %>사이에 JAVA코드를 넣어서 사용가능하다

ex) <% if(a == 1) out.println("aa"); %>

 

3) JSP Declarations

<%! private int count = 0; %> 처럼 필드, 메소드를 정의하는 방법이다. 사용자는 정의한 count 를

<%= count %>를 통해 출력하거나 사용할 수 있다.

 

4)JSP Directive

JSP전체 구조에 영향을 미친다

JSP 서블릿 컨테이너에 지시를 하는 역할을한다

 

#1 page Directive

페이지 지시는 JSP페이지의 가장 위에 적어주며  import하거나 페이지에 명령을 내리는곳에 사용한다

<%@ page import = "java.util.*" %>

<%@ page contentType = "text/html" %>

 

#2 include Directive

<%@ include file = "test_url"> 모든 페이지 하단부에 있는 주소같은 부분을 복사 붙여넣기 하여 사용하는것은 좋지않은 방법이다 따라서 이러한 include를 통하여 사용하는것이 좋다.

 

#3 taglib Directive

태그를 모아놓은 라이브러리로서 외부의 라이브러리 파일을 JSP내에 HTML이나 XML태그처럼 사용할 수 있게 함

<%@ taglib   uri=http://java.sun.com/jsp/jstl/core    prefix=c"  %> 이처럼 prefix로 c라고 등록해놓고 사용

<c:out value="Hello World"> </c:out>

 

5) JSP Action

XML 구분의 문법을 사용하여 서블릿 엔진을 컨트롤한다

 

#1 <jsp:include>action

현재 JSP 페이지에 다른 리소스를 포함시키는데 사용.

<jsp:include page="/jsp/common/uppermenu.jsp" flush="true">

</jsp:include>

 

#2 <jsp:forward>action

다른 리소스(JSP, html 또는 Servlet)로 요청을 전달하는데 사용.

<jsp:forward page=“/display.jsp" />

 

#3 <jsp:useBean>action

자바의 Bean(객체)를 생성한다.

<jsp:useBean id="customer" class=“package.class  scope="request"> </jsp:useBean>

Scope = 언제까지 유효한지를 의미 Request오면 만들고 끝나면 사라짐

 

#4 <jsp:setProperty>action

자바 Bean(객체)의 속성을 정의한다

<jsp:setProperty name="myName" property="someProperty" value=“abc”/>

 

#5 <jsp:getProperty>action

자바 Bean(객체)의 값을 가져온다

<jsp:getProperty name="myName" property="someProperty" />

반응형

+ Recent posts