JSP

조예빈·2024년 5월 3일

Servlet

목록 보기
3/10

서블릿은 응답 기능을 이용해 화면을 구현하고, 간단하기 때문에 난이도도 높지 않다. 하지만, 웹 사이트의 화면 기능이 복잡해지면 화면을 나타내는 코드 구현도 복잡해지기 때문에 이를 해결하고자 JSP가 등장하게 되었다.

JSP

  • HTML, CSS와 JS를 기반으로 JSP 요소들을 활용해 화면을 구현함(기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML과 JS 화면을 구현)
  • Spring Boot에서는 JSP가 빠져 있음

JSP 페이지 구성 요소

  • Directive Tag(디렉티브 태그) : 지시어
  • Scripting Element(스크립트 요소) : 주석문, Scriptlet, 표현식, 선언식 -> 자바 코드 작성하는 곳
  • Expression Language(표현 언어) : EL. 출력문
  • 내장 객체(내장 변수) : 내가 만들지 않아도 이미 만들어져 있는 것. ex)request
  • Action Tag(액션 태그)
  • Custom Tag(커스텀 태그)

디렉티브 태그

  • Page Directive Tag(페이지 디렉티브 태그) : JSP 페이지의 전반적인 정보를 설정할 때 사용
  • Include Directive Tag(인클루드 디렉티브 태그) : 공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가할 때 사용함
  • Taglib Directive Tag(태그라이브 디렉티브 태그) : 개발자나 프레임워크에서 제공하는 태그를 사용할 때 사용

중요한 디렉티브 태그 : contentType, import

  • trimDirectiveWhitespaces를 true로 하면 공복을 모두 제거해줌(공백:로딩된 페이지에서 소스보기)
인클루드 디렉티브 태그
  • 공통으로 JSP페이지를 미리 만들어 놓고 다른 JSP 페이지 요청 시 인클루드 디렉티브 태그를 사용하는 것
  • 재사용성도 높아지고 유지관리도 수월해짐
  • 여러 JSP 페이지에서 사용되는 공통 JSP 페이지를 만든 후 다른 JSP 페이지에서 공통 JSP 페이지를 포함시켜 사용하는 기능

<%@ include file="공통기능.jsp" %>

<두 가지 방법>

  • 디렉티브 : 소스를 가져와서 실행
  • 액션태그 : 소스를 실행하고 가져옴. 파라미터가 가능함. 동적 처리가 가능

name을 header에서 출력할 수 있을까?

안되는걸 알 수 있음.

이 코드는 가능함.

선언문

  • 필드

    여기서 느낌표를 제거하면 전역변수이고, 위의 사진과 같이 느낌표를 붙이면 전역변수 느낌으로 사용이 가능하다

스크립트릿

  • JSP의 스크립트 요소는 브라우저로 전송되지 않고 전송되기 전에 컨테이너에서 자바 코드로 변환됨

    <% 자바코드 %>


위의 사진처럼 h1태그를 여러번 출력하도록 반복할 수 있음

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글