자바 웹을 다루는 기술 목차 정리(11~15)

jaeyong Lee·2023년 11월 14일
0

11장 JSP 정의와 구성요소

11.1 JSP 등장 배경

초기 웹 프로그램은 서블릿을 이용해서 구현했다. 하지만 디자이너는 개발자와 달리 자바코드에는 익숙하지가 않은 경우가 많아 화면기능 구현시 불편함이 많았다.
그래서 서블릿 기능 중 별도로 화면기능을 디자이너가 작업하기 쉽게하기 위해 JSP가 등장했다.

기능 : 주로 웹 프로그램 화면기능과 모델2 기반 mvc 뷰기능 담당
구성: HTMl,CSS,Javascript, JSP기본,JSP,액션, 커스텀 태그

11.2 JSP 3단계 작업 과정

  1. 변환 단계 : 컨테이너는 JSP파일을 자바 파일로 변환한다.
  2. 컴파일 단계 : 컨테이너는 변환된 자바 파일을 클래스 파일로 컴파일 한다.
  3. 실행 단계 : 컨테이너는 class 파일을 실행하여 그 결과(HTML,CSS와 자바스크립트 코드)를 브라우저로 전송해 출력한다.

11.3 JSP 페이지 구성요소

  • 디렉티브태그
  • 스크립트 요소
  • 표현 언어
  • 내장 객체
  • 액션 태그
  • 커스텀 태그
    디렉티브 태그와 스크립트 요소는 JSP가 처음 나왔을 때 많이 사용했던 기능이고 그 외요소는
    JSP에서 출력한기능이다.

11.4 디렉티브 태그

디렉티브 태그는 JSP페이지에 대한 전반적인 정보를 설정할 때 사용한다.
1. 페이지 디렉티브 태그 : JSP페이지의 전반적인 정보를 설정할 때 사용한다.
페이지 디렉티브 형식 :

<%@ page 속성1 = "값1, 속성2 ="값2" %>
  1. 인클루드 디렉티브 태그 : 공통으로 사용하는 JSP페이지를 다른 JSP페이지에 추가할 때 사용한다.
  2. 태그라이브 디렉티브 태그 : 개발자나 프레임워크에서 제공하는 태그를 사용할때 사용한다.

12장 JSP스크립트 요소기능

12.1 JSP 스크립트 요소

JSP스크립트 요소란 JSP페이지에서 여러 가지 동적인 처리를 제공하는 기능으로
<% %> 기호안에 자바코드를 구현한다. <% %>를 스크립트 릿이라고 한다.
스크립트 릿 종류
1. 선언문 : JSP에서 변수나 메서드를 선언할 때 사용한다.
2. 스크립트 릿 : JSP에서 자바 코드를 작성할 때 사용한다.
3. 표현식 : JSP에서 변수의 값을 출력할 때 사용한다.

12.2 선언문 사용하기

<%! 멤버변수 or 멤버 메서드 %>
//예제
<%! 
String name = "듀크";
public String getName(){return name;}
%>   //선언문을 이용해 멤버 변수 name과 멤버 메서드 getName()을 선언합니다.

12.3 스크립트릿 사용하기

<% 자바코드 %>
<% String age =request. getParameter("age"); %>

//html태그 내에서
<body>
나이는 <%=age %>입니다.
<body>

12.4 표현식 사용하기

위에 있는 변수 표현해주는 기능이라고 보면 된다.

<%=age %>

12.5 주석문 사용하기

JSP페이지에서 사용되는 주석들이 있다.
자바코드는 말그대로 스크립트릿 안에 Java코드를 주석하는거고 JSP주석은 JSP페이지에 대해서 주석을 거는 것이다.

  1. HTML 주석
<%
   /*자바코드주석문 */
%>

  <!-- HTML주석문 -->
  
  <%-- JSP주석문 --%>
 
  1. 자바 주석
  2. JSP 주석

12.6 스크립트 요소 이용해 실습하기

12.7 내장 객체(내장 변수) 기능

JSP페이지의 내장 객체(내장 변수)란 JSP가 서블릿으로 변환될 때 컨테이너가 자동으로 생성 시키는 서블릿 멤버 변수를 말한다.
그 중 앞에서 써봤던 application,request,response,session은 이미 서블릿에서 사용해본 객체들이다. 즉! JSP가 서블릿으로 변환 될때 서블릿 객체들을 JSP안에서 사용할 수 있게 해준다.

세션(Session)은 일반적으로 하나의 브라우저에서 웹 애플리케이션과의 상호 작용을 유지하고 상태를 저장하는 데 사용되는 메커니즘입니다.

내장객체들의 스코프

12.8 JSP 페이지 예외 처리하기

JSP페이지에서 오류가 발생하면 예외 처리 페이지를 이용해 예외처리를 할 수 있다.

  • 예외처리 하는 과정

12.9 JSP welcome 파일 지정하기

첫 화면에 해당하는 홈페이지를 다음과 같이 web.xml에 등록해 두면 브라우저에서는 컨텍스트 이름만으로 요청하여 간단하게 표현할 수 있다.

12.10 스크립트 요소 이용해 회원 정보 조회하기


13장 자바 코드를 없애는 액션 태그

JSP등장배경 : 디자이너가 자바 코드를 사용하지 않고도 쉽게 화면을 구현할 수 있도록 하기 위함
JSP는 스크립트 릿의 자바 코드를 제거하고 디자이너 입장에서 더 쉽고 편리하게 작업할 수 있는 태그 형태로 기능을 제공하게 되었고 액션태그들로 자바코드를 대체하게 되었다.

(흐름보기)
JSP의 여러가지 액션 태그

13.1 인클루드 액션 태그 사용하기

인클루드 액션 태그는 12장의 인클루드 디렉티브 태그처럼 화면을 분할해서 관리할 때 사용한다.
타일즈 처럼 레이아웃을 컴포넌트로 나눠서 화면을 그대로 사용한다.

13.2 포워드 액션 태그 사용하기

포워드 액션 태그를 사용하면 자바 코드 없이도 포워딩할 수 있습니다. 또한 포워딩 시 다른 서블릿이나 JSP로 값을 전달할 수도 있습니다.

<jsp:forward page="포워딩할 JSP페이지>

13.3 useBean, serProperty,getProperty 액션 태그 사용하기

자바 빈은 웹 프로그램 , 즉 Java EE프로그래밍 시 여러 객체를 거치면서 만들어지는 데이터를 저장하거나 전달하는데 사용한다.
자바의 vo,dto클래스와 같은 개념으로 보면 된다.

<jsp:userBean id="빈이름" class="패키지 이름을 포함한 자바 빈 클래스 [scope="접근범위"]/>

<jsp:userBean id="m" class="sec01.ex01.MemberBean" scope="page"/>

setProperty와 getProperty는 useBean의 속성 값을 설정하고 얻는 태그이다.

<jsp:setProperty name =" 자바 빈이름 " property ="속성이름" value="" />
<jsp:getProperty name =" 자바 빈이름 " property ="속성이름"/>

14장 표현 언어와 JSTL

14.1 표현 언어란?

화면에 대한 요구 사항이 복잡해지면서 자바 코드를 대체하는 액션 태그가 등장했습니다. 이어서 jsp는 자바코드를 대체하기보다 제거하는쪽으로 발전했습니다.
그리고 현재 JSP페이지는 스크립트 요소보다는 표현언어와 JSTL을 사용해서 구현합니다.

표현 언어는 자바 코드가 들어가는 표현식을 좀더 편리하게 사용하기 위해 jsp 2.0부터 도입된 데이터 출력 기능입니다.

표현 언어의 형식입니다. 페이지 디렉티브 태그에서는 반드시 isELIgnored=false로 설정해야한다.

${표현식 or 값} 

14.2 표현 언어 내장 객체

스크립트 요소에서 아세리판 스코프 가져오고 액션태그에서 포워딩, 빈 ,getter,setter 가져왔듯이 이러한 기능들을 내장객체로 가지고 있다. (책 p518참고)

14.3 표현 언어로 바인딩 속성 출력하기

14.4 커스텀 태그

위의 표현언어를 사용하더라도 조건식이나 반복문에서는 여전히 자바코드를 사용하고 잇다.
커스텀 태그란 JSP 페이지에서 자주 사용하는 자바 코드를 대체하기 위해 만든 태그입니다.

커스텀 태그의 종류
JSTL : JSP페이지에서 가장 많이 사용하는 기능을 태그로 제공하며 JSTL 라이브러리를 따로 설치해서 사용한다.

개발자가 만든 커스텀 태그 : 개발자가 필요에 의해 만든 태그로, 스트러츠나 스프링 프레임워크에서 미리 만들어 제공한다.

14.5 JSP 표준 태그 라이브러리(JSTL)

JSTL이란 커스텀 태그 중 가장 많이 사용되는 태그를 표준화하여 라이브러리로 제공하는 것을 말한다.

종류 : 코어, 국제화, XML, 데이터베이스, 함수

14.6 Core 태그 라이브러리

아직 JSP에서는 변수 선언, 조건식, 반복문 기능을 자바 코드를 이용해서 구현한다.
이때 코어 라이브러리를 사용하면 이런 자바 기능을 태그로 대체 할 수 있다.
톰캣에서는 JSTL라이브러리를 제공하지 않음으로 외부에서 가져와야한다.

Core태그 라이브러리 기능 p547

14.7 Core태그 라이브러리 실습 예제

14.8 다국어 태그 라이브러리 사용하기

14.9 한글을 아스키 코드로 변환하기

14.10 포매팅 라이브러리 사용하기

JSTL 포매팅 라이브러리를 사용하면 쉽게 원하는 형태로 숫자,날짜,문자열을 표시할 수 있다.

14.11 문자열 처리 함수 사용하기

14.12 표현 언어와 JSTL을 이용한 회원관리 실습

15장 JSP페이지를 풍부하게 하는 오픈 소스 기능

15.1 JSP에서 파일 업로드

JSP는 대부분의 기능을 오픈소스로 제공한다. 대표적인 기능이 파일 업로드와 파일 다운로드 기능이다.

15.2 JSP에서 파일 다운로드

0개의 댓글