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 |
댓글