<한줄요약>

Servlet : java에 html을 포함시켜서 동적으로 page 생성, 전달

JSP : html에 java를 포함시켜서 동적으로 page 생성, 전달

 

1. Servlet이란?

 

-  JAVA + HTML

-  JAVA를 사용해서 웹 페이지를 동적으로 생성한다.

-  Client가 Server에 request를 보내면, WAS는 DB를 조회, 결과 data를 이용해 페이지를 구성한다

-  이 page를 Client에 전송

 

-  JAVA 내부의 HTML코드는 문자열로서 표현한다

 

-  주요 method

-  service() : 요청 내용에 따라 doGet() / doPost()를 호출한다

-  doGet() : get일때의 요청 처리

-  doPost() : post일때의 요청 처리

 

 

2. JSP란?

 

-  Java Server Page

-  HTML + JAVA

-  서버에서 동적으로 웹 페이지를 생성한다

-  서블릿과 기능적으로 유사하지만, JAVA가 아닌 HTML 기반

-  내부적으론 JSP를 servlet으로 변환해서 사용한다

 

-  HTML내부에서 자바 코드를 사용하기 위해 스크립팅 영역을 제공한다

 

-  선언 <%! %>

-  변수 / 메소드를 선언한다

<%!
String var;

public void func(){
	var="value";
}
%>

-  스크립트릿 (Scriptlet)  <% %>

-  내부의 java 코드를 실행한다

<%
for(int i=0; i<10; i++) {
	out.println("<div>"+i+"</div>");
}
%>

-  표현식 <%= %>

-  데이터를 웹 페이지에 출력한다

<%!
String var="world";
%>

//Hello world!!
Hello <%= var =>!!

-  주석 <%-- --%>

 

 

3. JSP 지시자

 

Page 지시자

-  현재 JSP page에 대한 정보를 컨테이너에 알린다

<%@ page language="java", contentType="text/html;charset=ISO-8859-1", .... %>
속성 설명
language 사용할 언어 지정, 기본 java
info 페이지 설명
contentType 내용의 형식, 인코딩 지정
기본 text/html;charset=ISO-8859-1
pageEncoding 인코딩 지정
ISO-8859-1
import 사용할 JAVA 패키지 등 import
session 세션 사용 여부
기본 true
errorPage 현재 page에서 에러 발생시 처리할 JSP 지정
isErrorPage 이 JSP가 에러 처리를 위한 page인지 여부
기본 false

 

include 지시자

-  특정 JSP 파일을 페이지의 특정 부분에 포함시킨다

-  ex) 반복 사용되는 상단 Navi부분을 별도 JSP파일로 분리 한 후, 다른 page에서 호출해 사용

<%@ include file="파일경로" %>

 

taglib 지시자

-  JSTL 등 태그 library 이용시 사용한다

 

 

4. JSP의 기본 객체

 

객체 명 설명
request 사용자 입력 정보가 전달
response 사용자 요청에 대한 응답 처리
pageContext JSP page와 1대1 대응
내부 객체를 얻거나 forward시 사용
session 세션에 대한 정보 처리
application 어플리케이션 전반 처리
out 사용자에게 출력
config JSP 초기화 설정
page 현재 JSP page
this와 비슷
exception isErrorPage가 true인 page에만 존재
전달된 error 정보 저장

 

기본 객체의 Scope (영역, 유효 범위)

pageContext 하나의 JSP 페이지
request 하나의 사용자 요청
session 하나의 웹 브라우저 (동일 브라우저에서 같은 페이지 처리시, session 공유)
application 하나의 웹 어플리케이션

-  setAttribute, getAttribute, removeAttribute 등으로 JSP 페이지 간에 data전달/공유가 가능하다

 

 

5. 웹 페이지 이동

 

  forward(request,response) 방법 sendRedirect 방법
호출 방법 request.getRequestDispatcher(url).forward(request, response) response.sendRedirect(url)
이동 범위 동일 서버 내 아무곳이나
데이터 유지 기존 request/response가 전달되므로, 유지 소멸
속도 빠름 느림

 

'WEB 공부' 카테고리의 다른 글

[WEB] Spring - DI  (0) 2021.05.18
[WEB] Cookie & Session  (0) 2021.05.16
[WEB] Backend - EL, JSTL  (0) 2021.05.16
[JAVA] JDBC  (0) 2021.05.16
[WEB] Frontend - Bootstrap  (0) 2021.05.15
[WEB] Frontend - AJAX  (0) 2021.05.15
[WEB] Frontend - JQuery  (0) 2021.05.09

+ Recent posts