Day45 :) JSP

관련용어

  • 서버사이드: 클라이언트-서버 관계에서 서버 측에서 이루어지는 작업
  • 정적 웹페이지
    • 서버에 이미 저장된 HTML문서를 출력.
    • 문서가 변경되지 않는 한, 고정된 웹페이지에 접속하게 됨
    • 모든 사용자는 같은 결과의 웹페이지에 액세스함
  • 동적 웹페이지
    • 사용자의 상황, 요청에 따라 웹페이지가 달라짐
    • 보편적으로 이용하는 방법
  • 서블릿(servelet): 클라이언트 요청을 처리/응답하는 자바 프로그램
    • Servlet 클래스의 구현 규칙을 지켜야함
  • 서블릿컨테이너: 서블릿을 관리해주는 프로그램. 서블릿과 웹서버가 통신 할 수 있도록 함
    • 클라이언트의 요청을 받고 응답할 수 있도록 웹서버와 소켓을 만들어 통신
  • tomcat: 아파치에서 개발한 java기반의 서블릿 컨테이너

JSP

  • Java Server Pages
  • 서블릿을 기반으로 하는 서버사이드 스크립트 언어
  • HTML에 자바 코드를 넣어 동적 웹페이지를 생성하는 도구

JSP-서블릿 비교

JSP서블릿
HTML코드 내 java코드java코드 내 HTML 코드
java코드를 <% %>태그로 처리HTML코드를 문자열로 처리
// JSP
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<h1>홍길동: <%= Score.getKorScore() %></h1>
</BODY>
</HTML>
// 서블릿
PrintWriter out = response.getWriter(); 
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
out.println("<h1>홍길동:"+Score.getKorScore()+"</h1>")
out.println("</body>");
out.println("</html>");

JSP태그

지시어(directive)

<%@ 지시어 속성="값"%>

page

<%@% page 속성="값">

  • jsp 페이지에 대한 정보 설정
  • 주요 속성
속성설명
language스크립트 언어의 유형 정의
contentType응답컨텐츠의 타입과 인코딩방식을 설정
pageEncoding파일 저장 시 사용할 인코딩 방식 설정
import다른 문서를 import함
errorPage에러 발생 시 표시할 페이지 설정
isErrorPage에러 발생 시 jsp페이지 사용여부 설정(true,false)
trimDirectiveWhiteSpace지시어 정의시 생기는 공백 삭제여부(true,false)

include

  • 다른 jps페이지를 포함시킴
  • 주요 속성
    • file: 현재 페이지에 포함시킬 jsp파일의 경로 지정
      <%@ include file="sample/example.jsp.jsp"%>

taglib

<%@ taglib 속성 ="값"%>

  • 커스텀 태그 라이브러리를 JSP 파일에서 사용할 수 있게 함
  • 주요속성
    • uri: 커스텀 태그 TLD 파일 위치 지정
    • prefix: 태그 라이브러리의 별칭 지정
      <%@ taglib uri="/META-INF/mytag.tld" prefix="mytag" %>

스크릿트립(Scriptlet)

<% 자바코드 %>

  • jsp 페이지에서 자바코드 실행시킴

표현식

<%= 변수or메서드 %>

  • 변수에 저장된 값이나 메서드 반환값을 출력

선언

<%! 객체생성코드 %>

  • JSP페이지에서 필드나 메서드 정의 시 사용
  • 자주 사용하지 않음

내장객체

  • JSP가 기본적으로 내장하고 있어서 별도로 생성하지 않아도 바로 사용할 수 있는 객체
  • JSP를 서블릿으로 변환 시 자동으로 객체 생성

HttpServletRequest

  • request 변수에 저장됨
  • 클라이언트가 서버로 보낸 요청 메세지를 저장하고 있음

HttpServletResponse

  • response 변수에 저장됨
  • 서버가 클라이언트에게 보낼 응답 메세지 관리

HttpSession

  • session 변수에 저장됨
  • 클라이언트 별로 고유하게 사용되는 객체

좋은 웹페이지 즐겨찾기