태그 | 작성 방법 | 내용 |
---|---|---|
주석문 태그 (Comment tag) | <%-- 내용 --%> | - 내용 그대로 주석 |
지시자 태그 (Directive tag) | <%@ 내용 %> | - 페이지에 대한 설정 (아래에서 추가 설명) |
표현식 태그 (Expression tag) | <%= 출력내용 %> | - jsp에서 사용되는 자바코드를 동작시키고 출력 - out.print 처럼 동작 - 표현 태그에서는 ;(세미콜론)은 붙이지 않음 |
스크립트릿 태그 (Scriptlet tag) | <% Java 코드 %> | - _jspService 메소드의 로컬변수와 자바코드를 작성할때 사용 |
선언문 태그(Declaration tag) | <%! 내용 %> | - Servlet Class의 멤버변수/멤버메소드를 선언할때 사용 |
JSP 페이지에서 사용하는 HTML, JSP , Java 주석
HTML 주석
<!-- HTML 주석 -->
JSP 주석
<%-- JSP 주석 태그 --%>
Java 주석
<% //Java 주석 %>
<%@ page import="java.io.*" %>
<%@ page contentType="text/html; charset=UTF-8">
JSP 페이지에서 발생하는 Exception을 처리하기 위해서는 별도의 예외 처리 페이지를 지정
하나의 JSP 페이지에 대한 예외 처리 페이지는 하나만 지정할 수 있기 때문에 예외마다 다른 예외 처리는 불가능
errorPage 와 isErrorPage를 활용해서 에러페이지로 연결시킬 수 있음
errorPage : 에러가 발생 할 수 있는 page에 작성
<%@ page errorPage="/error/exceptionPage.jsp" %>
isErrorPage : 에러메시지를 보내주는 page에 작성
<%@ page isErrorPage="true" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 에러 발생시 예외 처리 페이지 지정 -->
<%@ page errorPage="/views/commons/error/error.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 넘어 오는 값의 name 설정(data->inputData) 오류로 인해 Exception 발생
String inputData = request.getParameter("inputData");
%>
전송한 데이터의 길이는
<%=inputData.length()%>
글자입니다.
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 예외 처리 페이지 설정 -->
<%@ page isErrorPage="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>페이지에서 문제가 발생하였습니다. - 지속적인 문제 발생시 관리자에게 문의해주세요 -</h1>
<a href="/index.html">메인 페이지로 이동</a>
</body>
</html>
<%@ page import="java.util.Calendar, java.util.Date" %>
<%@ include file="footer.html" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<style>
#footer {
width: 100%;
height: 15%;
background-color: ligthgreen;
text-align: center;
}
</style>
<div id="footer">
이용약관 개인정보처리방침 책임의 한계와 법적고지 사전 고객센터 콘텐츠 수정 및 오류 신고 - 클릭N클린
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<style>
* {
box-sizing: border-box;
}
#wrapper {
margin: 0 auto;
border: 1px solid red;
width:800px;
height:800px;
}
#header {
width: 100%;
height: 25%;
background-color: yellow;
}
#container {
width: 100%;
height: 60%;
background-color: skyblue;
}
#footer {
width: 100%;
height: 15%;
background-color: ligthgreen;
text-align: center;
}
</style>
<div id="wrapper">
<div id="header"></div>
<div id="container"></div>
<div id="footer">
<%@ include file="/views/commons/footer/footer.jsp" %>
</div>
</div>
</body>
</html>
현재 시간은 <%= new java.util.Date() %> 입니다.
<% int i=0; %>
<% if(i>10) { %>
i가 10보다 큽니다.
<% }else { %>
i가 10보다 작습니다.
<% } %>
Servlet 클래스의 멤버변수/메소드에 해당하는 코드를 작성할 때 사용
사용시 <%! %> 로 사용
멤버변수 선언
<%! public static final String DEFAULT_NAME="홍길동"; %>
<%! int counter=0; %>
<%!
public String getName(HttpServletRequest request) {
return request.getParameter("name");
}
%>