본문 바로가기
코딩수업/AWS 클라우드환경 네이티브

10/31 웹 제작 - 에러 페이지, EL, jsp 표준 액션

by 인생즐겜러 2022. 11. 16.
728x90
반응형

AWS 클라우드환경 네이티브 수업 110 일차

 

 

 

진행

1. 에러 페이지

2. Expression Language (EL)

 

 

 

 

 

요약

1. 에러 페이지

2. Expression Language (EL)

3. jsp 표준 액션

 

 

 

 

 


 

 

 

 

 

에러 페이지

 

  • 404  : 보통 HTTP에서 사용자가 요청하는 페이지나 파일을 찾을 수 없을 때 가장 많이 발생
  • 500 : 예외적인 또는 예측하지 못한 에러의 경우 출력

 

<!-- NotFoundError.jsp => 404 에러-->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% response.setStatus(200); %>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>NotFoundError.jsp</title>
</head>
<body>
	<h1>해당 페이지를 찾을 수 없습니다.</h1>
</body>
</html>
<!-- ServerInternalError.jsp => 500 에러-->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% response.setStatus(200); %>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>ServerInternalError.jsp</title>
</head>
<body>
	<h1>웹 서버 내부에서 에러가 발생하였습니다.</h1>
</body>
</html>
<!-- web.xml에 코드 추가 -->

  <error-page>
  	<error-code>404</error-code>
  	<location>/ch05/NotFoundError.jsp</location>
  </error-page>
  
  <error-page>
  	<error-code>500</error-code>
  	<location>/ch05/ServerInternalError.jsp</location>
  </error-page>

 

 

 

 

 


 

 

 

 

 

Expression Language(EL)

 

JSP 태그로 작업 시 코드의 간소화를 위해 사용된다.

값이 없거나 형변환에 신경 쓸 필요 없이 사용 할 수 있다는 장점이 있다.

 

문법은 아래와 같다.

 

${ 표현식 }

 

표현식에는 문자, 연산자, 변수가 들어간다.

 

문자 : 논리(true, false) / 숫자 (정수, 실수) / 문자열 (" " , ' ' 로 표현) / Null

연산자 : 산술 (+, - 등) / 논리 (&& , || 등) / 비교 (==, != 등) / empty (값이 null이나 공백 문자인지 판단)

 

 

 

 

 

사용하면 유용할 EL 내장 객체

  • ${param.원하는변수} : request.getParameter(원하는 변수) 와 동일
  • ${header} : 헤더 정보를 name / values 형태로 싹 출력한다.

 

 

 

 

 

 

expression language를 사용하여 데이터 보내기(HashMap)

 

<!-- Address.jsp -->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%
	HashMap<String, String> map = new HashMap<String, String>();
	// HashMap map = new HashMap(); 으로 쓰면 String 타입이 아니어도 그대로 작성 가능함...
	map.put("Gildong", "청석골");
	map.put("춘향", "남원");
	map.put("방자", "강원도");
	
	request.setAttribute("ADDRESS", map);
	RequestDispatcher dispatcher = request.getRequestDispatcher("AddressView.jsp");
	dispatcher.forward(request, response);
%>

 

<!-- AddressView.jsp -->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>
<body>
	<h1>주소 알아내기</h1>
	<h2>${param.NAME}의 주소는 ${ADDRESS[param.NAME]}</h2>
</body>
</html>

 

 

 

 

 

 


 

 

 

 

 

jsp:include 표준액션

 

표준 액션은 JSP 페이지가 실행될 때 동적으로 해당 웹 자원을 읽어서 포함하지만

include 지시자는 JSP 페이지가 서블릿 클래스로 변환될 때 해당 웹 자원을 읽어서 서블릿 클래스 코드의 일부로 만듦

 

<!DOCTYPE html>
<!-- Copyright.html -->
<font size="2">Copyright 이 페이지의 저작권은 길동.com에 있습니다.</font>
<!-- BookinFo.jsp -->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>BookInfo.jsp</title>
</head>
<body>
	<h1>책 소개</h1>
	<h2>제목 : 자바를 잘 하는 길</h2>
	<h2>저자 : 김 자바</h2>
	<h2>페이지 : 935페이지</h2>
	<jsp:include page="Copyright.html"/>
</body>
</html>

 

 

 

 

 

 

jsp:forward 표준액션

 

JSP 페이지를 실행하다가 다른 JSP페이지로 제어를 넘기고자 할 때 사용한다.

 

 

<!-- Hundred.jsp -->

<%
	int sum = 0;
	for(int cnt = 1; cnt <=100; cnt++) {
		sum += cnt;
	}
	
	request.setAttribute("RESULT", sum);
%>
<jsp:forward page="HundredResult.jsp"/>
<!-- HundredResult.jsp -->

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>HundredResult.jsp</title>
</head>
<body>
	<h1>1부터 100까지의 합</h1>
	<h2>1부터 100까지의 합은 ${RESULT}입니다.</h2>
</body>
</html>

 

 

 

728x90
반응형

'코딩수업 > AWS 클라우드환경 네이티브' 카테고리의 다른 글

11/2  (0) 2022.11.17
11/1  (0) 2022.11.17
10/28  (0) 2022.11.16
10/27 웹 제작 - 쿠키 / 세션 / 에러처리  (0) 2022.11.16
11/15 웹 제작 - 파일 업로드 만들기  (0) 2022.11.15

댓글