[JSP] JSP 개요

dooboocookie·2022년 9월 29일
0

JSP/Sevlet

목록 보기
1/4

JSP (Java Server Pages)

  • 동적 웹 페이지(링크)의 사용되는 자바의 표준 기술
  • 서버단에서 로직 등을 통하여 웹 페이지를 동적으로 조작
  • HTML 응답을 생성하는 기능 제공

WAS

  • Web Application Server
    • 톰캣, 제티, ...
  • 동적인 컨텐츠의 로직 처리를 하기 위함

  1. HTTP 요청 : http://localhost:8080/test.jsp
  2. 실행 : jsp의 java 코드 등을 컴파일 후 실행
  3. HTTP 응답

JSP 구성 요소

Directive(디렉티브)

  • 지시자
  • JSP 페이지에 대한 설정 정보를 지정할 떄 사용
  1. <%@ page %> : page 지시자
page 지시자의 속성
속성 내용
contentType JSP가 생성하는 문서의 콘텐츠 타입을 설정하는 속성
text/html; : 기본값
charset=UTF-8 : html의 인코딩 방식을 utf-8로 설정
pageEncoding JSP의 문자 인코딩을 설정하는 속성
ISO-8859-1 : 기본값
language JSP의 프로그래밍 언어를 설정 기본값 : java
import 사용해야되는 패키지.클래스를 임포트하는 속성
info JSP에 대한 설명을 담는 속성
  1. <%@ taglib %> : taglib 지시자

  2. <%@ include %> : include 지시자

Script(스크립트)

  • 문서의 내용을 동적으로 생성하기 위해 사용
    • 폼에 입력한 정보를 서브밋 하여 데이터베이스에 저장
    • 데이터베이스의 데이터를 읽어오기

Scriptlet(스크립트릿)

  • <% %>
  • JAVA 코드를 실행하는 요소
  • 여기서 선언되는 변수들은 지역 변수

Expression(표현식)

  • <%= %>
  • 변수에 입력된 값 등을 출력하는 요소

Declaration(선언부)

  • <%! %>
  • 변수, 메소드 선언하는 요소
  • 해당 영역에서 선언하는 것은 클래스의 멤버(변수, 메소드)가 됨

JSP 동작 과정

  1. 브라우저에서 해당 test.jsp 을 요청
  2. 톰캣(웹서버 + WAS)가 서블릿 컨테이너에게 요청을 전달
  3. java 코딩이 되어있는 .jsp파일을 servlet(.java) 파일로 파싱
  4. .class 파일로 컴파일되고 실행
  5. 웹 브라우저가 인식하는 HTML로 실행

  1. 작성된 test.jsp 파일
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%--페이지가 자바(기본값) 문법을 통해서 html으로 작성될 문서이고, 인코딩은 UTF-8로 하겠다는 지시자--%>

<%! 
    String name = "두부쿠키";
    int age = 29;
%>

<%
    // 스크립트릿
    for (int i = 1; i <= 10; i++) {
    // 스크립트릿을 중간에 끊어서 다른 html 태그를 중간에 두고 이어서 코딩할 수 있음
%>
<li>이름 : <%=name%> / 나이 = <%=age%> / <%=i%>번 실행</li>
<%
    } // i for 문
%>
  1. 파싱된 서블릿(.java) 클래스
// 자바 코딩 적기
  1. 출력된 html
<li>이름 : 두부쿠키 / 나이 = 29 / 1번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 2번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 3번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 4번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 5번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 6번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 7번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 8번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 9번 실행</li>

<li>이름 : 두부쿠키 / 나이 = 29 / 10번 실행</li>

Expression Languge(표현 언어)

형식

  • ${표현식}의 형태
    • 정해진 문법을 따르는 표현식을 입력하여 기능 실행
  • 코드를 간결하게하여 이해하기 좋게 만듦
profile
1일 1산책 1커밋

0개의 댓글