-서블릿보다 더 간편하게 웹 어플리케이션을 개발하기 위해 등장한 언어
-자바로 서버 페이지(웹서버에 실행되는 페이지)를 작성하기 위한 언어
-HTML+JSP태그로 구성(HTML내에 java코드로 작성)
-확장자 .jsp
-서블릿으로 변환되고 클래스로 만들어져서 실행하게됨
-동적으로 작동하여 응답은 HTML로 함
-프로젝트\src\main\webapp에 파일 생성됨
서블릿은 자바코드 내부에 HTML 코드가 들어가는 구조
JSP는 반대로 HTML 문서 내부에 자바 코드가 들어가는 구조
-서블릿 컨테이너가 만든 서블릿 경로 :
이클립스 워크스페이스.metadata . plugins\ org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSP\org\apache\jsp
서블릿 컨테이너가 해석한 서블릿코드에서 확인해 봤을 때
선언문에 선언한 변수는 서블릿클래스에서 필드로 선언되어있고 (전역변수)
스크립틀릿 변수는 지역변수 _jsService()메소드 내 지역변수로 선언되어있다 !
1행 10열의 테이블 생성 데이터 1부터 값넣기
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<%
for (int i = 1; i <= 10; i++) {
%>
<td><%=i%></td>
<% } %>
<tr>
</table>
</body>
현재시간 출력하는 페이지 만들기 import속성
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
/* 캘린더만들기 현재시간 출력 */
GregorianCalendar cal = new GregorianCalendar();
%>
<%= cal.get(Calendar.YEAR)%>년
<%= cal.get(Calendar.MONTH)+1%>월
<%= cal.get(Calendar.DATE) %>일
<%= cal.get(Calendar.HOUR)%>시
<%= cal.get(Calendar.MINUTE)%>분
<%= cal.get(Calendar.SECOND)%>초
</body>
</html>
에러페이지 만들기
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" errorPage="ex05errorPage.jsp"%>
//에러났을 때 가는 곳 설정해줌
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h2>2를 0으로 나누면?</h2>
<%=
2/0
%>
</body>
</html>
아래는 에러났을 때 나오는 페이지 파일 만들어줌
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>잠시만 기다려주세요 금방 복구됩니다.</h1>
</body>
</html>
메인페이지, footer페이지, 메인페이지2 생성
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>이곳은 메인페이지입니다.</h1>
<hr>
<a href="ex06mainPage2.jsp">메인페이지2가기</a>
<hr>
<%@ include file="ex06footer.jsp" %>
</body>
</html>
footer 페이지인 ex06footer.jsp 생성
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<p>대한민국 어딘가에 위치한 빌딩 </p>
<p>email : 이메일주소 입력~~~!</p>
<p>000-000-0000</p>
</body>
</html>
메인페이지에서 메인페이지2가기 a태그 클릭시 이동하는 ex06mainPage2.jsp 파일 생성
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>이곳은 메인페이지2입니다.</h1>
<hr>
<a href="ex06mainPage.jsp">메인1로가기</a>
<hr>
<%@ include file="ex06footer.jsp" %>
</body>
</html>