JSP

HGY·2023년 6월 14일

Jsp/Servlet

목록 보기
3/6

JSP

HTML기반 환경에서 Java언어를 사용하기 위한 방식

지시자 <%@ %>

jsp가 servlet으로 변환될 때 필요한 정보들을 기술

  • page 지시자
    JSP페이지의 전체적인 환경설정을 할 때 사용
    jsp 페이지의 환경설정
    - language : 사용할 언어
    - contentType : 문서의 종류, 인코딩 방식
    -> servlet으로 변환할 때 response.setContentType()의 매개변수로 사용
// import : 객체 호출 시 사용

<%@ page import="java.util.Random" %>
<%@ page import="java.util.ArrayList" %>

// errorpage : 페이지에 오류가 났을 때 대신 보여줄 페이지 지정

<%@ page errorPage="./Ex06_errorPage.html" %>
  • include 지시자
    현재 페이지에 다른 페이지의 내용을 삽입 할 때 사용
// iframe 내부 페이지
<iframe src="./Ex07_include.jsp"></iframe>

// iframe 외부 페이지
<iframe src="https://www.afreecatv.com" width="400" height="700"></iframe>

// iframe으로 youtube영상 가져오기
<iframe width="1280" height="720" src="https://www.youtube.com/embed/IuqOUNEQOP0" title="치즈 - 마들렌 러브 / Cheeze - Madeleine Love / 가사" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
  • taglib 지시자
    태그 L/B에서 태그를 가져와서 사용할 수 있게 함
    1. JSTL : jsp에서 사용 가능한 표준 태그 라이브러리
    2. 커스텀태그 : 자주 사용되는 Java코드를 Web에서 사용할 수 있는 태그로 만들어 둔 것

JSTL

JSTL(Jst Standard Tag Libray) : Jsp에서 사용 가능한 표준 태그 L/B
5가지의 커스텀 태그(core, functions, sql, xml, fmt)

core : 변수선언, if/for와 같은 제어기능 등

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

// uri단은 기능을 가져오고 prefix는 가져온 기능의 별칭 작성
  • ${ }
    자바의 기능을 사용하기 위한 문법

  • 변수 선언 c:set

<c:set var="a" value="10"></c:set>

// var은 변수명 value는 값
  • 출력 c:out
<c:out value="${a}"></c:out>

// value에 출력할 내용 작성
// ${ }를 통해 Java의 문법을 사용한다
  • if문 c:if
<c:if test="${a%2==0}">
	<c:out value="a는 짝수"/>
</c:if>
<c:if test="${a%2!=0}">
	<c:out value="a는 홀수"/>
</c:if>

// else단은 작성 불가 if문을 여러개 써서 사용한다.
// test에 조건 작성
  • switch문 c:choose, c:when
<c:choose>
	<c:when test="${a%2==0}">
		<c:out value="a는 짝수"></c:out>
	</c:when>
	<c:otherwise>
		<c:out value="a는 홀수"></c:out>
	</c:otherwise>
</c:choose>

// c:when로 케이스 작성
// test에 조건 작성
  • for문 c:forEach
<c:forEach var="i" begin="1" end="5">
	<c:out value="${i}"></c:out>
</c:forEach>

// var에 변수 작성
// begin, end 순서대로 시작값, 끝값

functions : 문자열을 처리하는 함수 기능

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

// uri단은 기능을 가져오고 prefix는 가져온 기능의 별칭 작성
  • 배열 생성
<c:set var="team" value="${fn:split('허광영,한남욱,문필현,김지희', ',')}"></c:set>
<c:forEach var="member" items="${team}">
	<c:out value="${member}"></c:out>
</c:forEach>

// fn:split 기능으로 문자열을 자르고 team 변수에 담는다.
// items 기능으로 변수 team에 있는 값을 member에 담는다.
  • 배열 길이
<c:out value="${fn:length(team)}"></c:out>
<c:out value="${fn:length('안녕')}"></c:out>

// fn:length 기능으로 길이 측정

선언문 <%! %>

변수 선언이나, 메소드를 클래스 영역에 선언할 때 사용
사용된 변수와 메소드는 변환된 서블릿 클래스의 멤버(전역변수)로 변환

스크립트릿 <% %>

JSP문서 안에 JAVA코드를 넣기 위해 사용함

표현식 <%= %>

web에 결과값을 출력하기 위해 사용하는 문법
; (세미콜론)을 사용하지 않음

내장객체

따로 선언하지 않고 사용할 수 있는 객체

response

JSP page의 실행결과를 Web Browser로 보낼 때 사용하는 객체

  • .sendRedirect()
    현재 JSP page를 중지하고 새로운 페이지로 이동하게하는 기능
    한 페이지에서 한번만 사용 가능
profile
바보 개발자 지망생

0개의 댓글