Java 언어를 기반으로 하는 Server Side 스크립트 언어
HTML 코드에 자바코드를 넣어 동적인 웹페이지 생성
JSP는 내부적으로 servlet으로 변환하기 때문에 servlet의 문법을 따른다
servlet의 모든 기능 + 추가적인 기능
JSP = Java + html(HTML + CSS + Javascript)
예)
<!DOCTYPE html> : 문서를 읽어 실행시키는 웹 브라우저에게 이 문서는 HTML5 문법을 준수해서 태그를 썻다고 알려주는 부분
<% for(int i = 1; i < 10; i++){ %>
//위와 같이 자바문법을 사용하는 부분을 스크립트릿(scriptlet)이라한다
<%= i %> = <%= i * 3%>
//표현식
<%>}</%>
<%@ page attr1="val1" attr2="val2" ..%>
<%@ include file="/addr1/addr2/filename.jsp"%>
<%@ taglib prefix="c" uri="http://..."%>
forward(request, response)
- RequestDispatcher disp = request.getRequestDispatcher(path);
disp.forward(request, response);- 이동 범위: 어플리케이션내 경로
- location bar: 기존 url 유지 (실제 이동되는 주소 확인 불가)
- 객체: 기존의 request, response 그대로 전달
- 속도: 비교적 빠름
- 데이터 유지: request의 setAttribute(name, value)를 통해 전달
sendRedirect(location)
- response.sendRedirect(location)
- 이동 범위: 동일 서버 포함 타 URL 가능
- location bar: 이동하는 페이지로 변경
- 객체: 기존 request, response 소멸, 새로운 request, response 생성
- 속도: forward에 비해 느림
- 데이터 유지: request로는 저장 불가능. session 이나 쿠키 이용