본문 바로가기

JSP

[JSP] 에러페이지 처리, include 지시어, 액션, forward 액션, 스크립트릿

728x90
반응형

1. 에러페이지 처리 

404 : 클라이언트의 문제 
주로 없는 페이지를 요청  
-> 있는 페이지를 요청 
-> 서버측에서 페이지를 생성 
500 : 서버의 문제 
로직상에서 발생하는 모든 문제에 대해 500 에러를 발생시킴 

page 지시어 : isErrorPage, errorPage 속성을 통해 설정 가능함 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 처리 페이지</title>
</head>
<body>

<h1>처리중에 문제가 발생했습니다!</h1>
<hr>
<%=exception %>

</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="NewFile.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 발생 페이지</title>
</head>
<body>

<h1>테스트중입니다.....</h1>
<hr>
<%
	//컴파일은 정상적으로 수행되나, 
	//실행시키면 에러가 발생하는 코드 
	String msg="apple";
	int num=Integer.parseInt(msg);
%>
</body>
</html>

2. include 지시어 

  • 여러 페이지에 공통으로 들어가는 내용을 관리할 때 용이 
  • 공통으로 들어가는 페이지를 한 번 만들어두면, 다른 페이지에서 필요한 경우에 include해서 사용 가능함 
  • 공통내용의 페이지를 포함시킨 이후에 컴파일하기때문에,  개별적으로 컴파일하지않으므로 별도의 기본 HTML 구조 태그가 필요 없음
  • 여러 파일들을 하나로 컴파일하기때문에 변경이 적은 정적인 페이지를 포함시킬 때 용이 

< header, footer를 별도로 파일로 관리 > 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include 지시어</title>
</head>
<body>

<table border="2">
	<tr>
		<td><%@ include file="header.jsp" %></td>
	</tr>
	<tr>
	<td><%@ include file="footer.jsp" %></td>
	</tr>
</table>

</body>
</html>

header 페이지 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
[메일][카페][블로그][지식iN][쇼핑][쇼핑LIVE][PAY][▷TV]

footer 페이지 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

[공지사항]
<hr>
Creators <br>
Partners <br>
Developers

3. include 액션 

  • 포함시킬 파일들을 각각 관리 (컴파일) 
  • 메인 파일이 다른 파일들을 포함하는 개념
  • 동적인 페이지를 포함시킬 때 용이 
  • 페이지 제어권 반환받음

 

메인 페이지가 side 페이지를 불러오는 것임 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include 액션</title>
</head>
<body>

<hr>
   <jsp:include page="side.jsp">
      <jsp:param value="apple" name="msg"/>
      <jsp:param value="1024" name="num"/>
   </jsp:include>
<hr>

</body>
</html>

side 페이지 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>별도 페이지</title>
</head>
<body>

<h3>별도페이지입니다.</h3>
<hr>
<%=request.getParameter("num") %> <br>
<%=request.getParameter("msg") %> 

</body>
</html>

 

4. forward 액션 

  • 페이지 제어권을 완전히 넘겨줌 
  • 현재 페이지 -> 다른 페이지로 화면 전환할 때 사용 
  • response(JSP 내장객체. 응답관련 정보가 저장된 객체)의 sendRedirect() 메서드와 유사한 기능을 수행★
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forward 액션</title>
</head>
<body>

<hr>
   <jsp:forward page="side.jsp">
      <jsp:param value="apple" name="msg"/>
      <jsp:param value="1024" name="num"/>
   </jsp:forward>
<hr>

</body>
</html>

5.  스크립트릿 (scriptlet) 

JSP 내부에서 JVAVA 언어를 사용할 수 있게 해주는 태그 

  • <%@ %> 지시어 
  • <% %> 스크립트릿 
  • <%= %> 표현식 : out JSP 내장객체의 출력기능을 포함 
  • <%! %> 선언식 

 

728x90
반응형