고래씌
[JSP] 3-1. JSP (스크립팅 원소, page 지시어) 본문
1. 실습준비
=> WebContent\WEB-INF\classes 임
2. JSP(Java Server Page)
: JSP란, HTML형식 내에서 자바코드를 쓸 수 있는 자바언어로 서블릿(자바코드)에서 응답화면을 구현했던 복잡함을 보다 간단하게 해결가능하다.
=> 즉, JSP의 가장 큰 장접은 Servlet에서는 비즈니스 로직처리에만 집중하고 프레젠테이션 로직 처리는 JSP에서 집중하게끔 분리할 수 있다는 것
▶ 선언문 : <%! %>
멤버변수와 메소드 등을 선언하기 위해 사용
▶ 스클립틀릿 : <% %>
JSP에서 자바 코드를 기술하기 위한 제일 기본적인 표현법
▶ 표현식(출력식) : <%= %>
자바에서 작성한 값 혹은 메소드 호출결과를 "출력"하기 위해 사용
■ index.html 파일
■ 01_ScriptingElement.jsp 파일
1) 스크립팅 원소
- 스클립틀릿 : 이 안에 일반적인 자바 코드를 작성(변수 선언 및 초기화, 제어문 등..)
- 화면으로 출력하고자 한다면
스클립틀릿을 이용해서 출력 가능 : <% out.println(sum); %>
표현식(출력식) 으로도 출력 가능 : <%= sum %>
2) 배열 사용
<h5>배열의 길이 : <%= names.length %></h5> <%= names %> <br> <%= String.join(", ", names) %> |
3) 반복문을 통해 html요소를 반복적으로 화면에 출력 가능
3. 지시어(Directive) <%@ page/include/taglib 속성="속성값" ... %>
- page 지시어 : 현재의 jsp페이지를 처리하는데 필요한 각종 속성을 기술하는 부분
▶ language : 사용할 스크립트 언어 유형을 지정
▶ contentType : 웹 브라우저가 받아볼 해당 페이지의 형식 및 인코딩 방식 지정
▶ pageEncoding : jsp 파일에 기록된 자바코드의 인코딩방식 지정
▶ import : 자바의 import와 같은 의미로 사용
▶ errorPage : 해당 jsp상에서 오류가 발생했을 경우 보여줄 에러페이지의 경로 지정
▶ isELIgnored : jsp상에서 EL표현식을 사용할지 여부를 지정(기본값 false)
=> 맨 위에 <%@ page import ~ %> 에 필요한 것을 import하여 작성한 결과(ArrayList, Date) body 태그에 ArrayList와 Date는 사용할 수 있지만, HasMap은 import하지 않아 에러가 발생한다.
▶ 에러 페이지에 해당 페이지로 이동하여 출력하고 싶다면...?
=> 에러가 발생하면 error500.jsp로 이동하도록 경로 설정
■ error500.jsp 파일
=> 에러가 발생하면 다음과 같이 화면이 이동하는 것 확인
■ 02_DirectivePage.jsp 파일
<%@ page import="java.util.ArrayList, java.util.Date" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="error500.jsp"%>
<!-- 에러가 발생한다면 error500.jsp 파일이 열릴 것임 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>page 지시어</h1>
<%
// AraayList 사용
// 지시어 부분에 import="java.util.AraayList"를 반드시 추가해야한다.
ArrayList<String> list = new ArrayList<>();
list.add("Servlet");
list.add("JSP");
Date today = new Date();
// 추가하지 않은 클래스 사용시 에러 발생.
// HashMap map = new HashMap();
%>
<p>
리스트의 길이 : <%= list.size() %> <br>
0번 인덱스의 값 : <%= list.get(0) %> <br>
현재 날짜 및 시간 : <%= today %>
</p>
</body>
</html>
▶ 404에러와 500에러로 각각 이동하게 하고 싶다면...?
=> web.xml 파일에 다음과 같은 코드 추가
■ web.xml 파일
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<!--
* web.xml 파일
- 배포서술자(DD, Deployment Descriptor)라고 해서 웹 애플리케이션의
기본적인 설정을 위해 작성하는 파일
- 현재 웹 애플리케이션을 구동시키는 서버를 start할 때 가장 먼저 읽혀지는 파일
- 개발자가 web.xml을 수정하지 않고도 개발 및 운영이 가능하지만 규모가 커지고
다양한 Filter, Servlet, Wrpper등을 사용하게 되면 직접 수정을 해야하는 경우도 많다.
-->
<display-name>1_Servlet</display-name>
<welcome-file-list>
<!--
* welcome-file : 처음에 url로 현재 어플리케이션의 루트경로(contextpath)로 요청시
제일 먼저 보여지게 되는 메인페이지를 지정해 놓는것
=> 각자 본인컴퓨터에 구축해놓은 서버로 요청을 보내기(현재 서버의 ip주고 127.0.0.1 = localhost)
=> 서버의 포트번호 : 8081로 설정
-> 서버내의 구동중인 어플리케이션의 루트경로 context root : servlet
=> 합치면 localhost:8081/servlet 으로 요청시 WebContent바로 아래에 있는 index파일이 서비스
-->
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>500</error-code>
<location>/views/error500.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/views/error404.jsp</location>
</error-page>
</web-app>
'Server > JSP과 Servlet' 카테고리의 다른 글
[JSP] 피자주문 실습문제 (1) | 2023.12.06 |
---|---|
[JSP] 3-2. include 지시어 (0) | 2023.12.06 |
[Servlet] 1-2. Post 방식으로 전달 실습 (0) | 2023.12.05 |
[Servlet] 1-1. GET 방식 전달 실습 (0) | 2023.12.05 |
[Servlet] 0. 서버 설정 (0) | 2023.12.05 |