• KTDS_자바&파이썬 웹애플리케이션전문가 양성과정교육_35일차(JSP)

    2021. 9. 9.

    by. KAEY

    자바&파이썬 웹애플리케이션 전문가 양성과정 채용연계형 교육과정 35일차

    KT 자바교육 후기 (2021-07-22 ~ 2021-12-03) 

    2021-09-09 블로그 의미가 있나.. 싶어서 처지 고민중

    Servlet/JSP


    [오전]

     복습 및 실습 확인

     

     

    JSP 등장 배경

    서블릿은 응답기능을 이용해 화면을 구현하다보니 화면 기능이 복잡해지면 구현코드 역시 복잡해짐

    JSP는 디자이너 입장에서 화면의 수월한 기능 구현과 개발 후 화면의 편리한 유지관리 목적으로 도입

    기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML과 자바스크립트로 화면을 구현,

    JSP는 이와 반대로 HTML, CSS, JAVASCRIPT를 기반으로 JSP요소들을 사용해 화면을 구현

     

     

     

    JSP 정의 

    HTML과 자바스크립트를 기반으로 jsp에서 제공하는 여러 가지 구성 요소들을 사용해 화면을 구현하는 기술

    웹 프로그램의 화면 기능과 모델2 기반 MVC에서 View 기능 담당 

     

    구성요소

    - HTML태그, CSS 그리고 자바스크립트

    - JSP 기본 태그

    - JSP 액션 태그

    - 개발자가 직접 만들거나 프레임워크에서 제공하는 커스텀 태그

     

     

     

    톰캣 컨테이너에서 JSP 변환 과정

    1.변환(Translation) : 컨테이너는 JSP 파일을 자바 파일로 변환

    2.컴파일(Compile) : 컨테이너는 변환된 자바파일을 클래스파일로 컴파일

    3.실행(Interpret) : 컨테이너는 class파일을 실행하여 그 결과(HTML, CSS 등)를 브라우저로 전송해 출력

     

     

     

    디렉티브 태그

    - 페이지 디렉티브 태그 : JSP 페이지의 전반적인 정보 설정

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

    - 속성 설정 시 대소문자 구분 해야 함

     

     

     

    디렉티브 태그

    - 인클루드 디렉티브 태그 : 공통으로 사용되는 JSP페이지를 미리 만들어놓고 다른 JSP 페이지 요청 시 사용

    - 특징 : 재사용성이 높다. JSP 페이지 유지관리가 쉽다.

    <%@ include file=“공통기능.jsp” %>

    - 인클루드 디렉티브 태그를 이용해 JSP 페이지를 요청하면 포함되는 jsp의 자바코드가 요청하는 jsp파일과 합쳐져 브 라우저로 전송

    - 인클루드 디렉티브 태그를 이용해 JSP 페이지를 요청하면 요청하는 JSP 페이지에 대해 실행하는 자바 파일은 한 개 만 생성 됨

     

     

     


    JSP 스크립트 요소

    - JSP페이지에서 여러가지 동적인 처리를 제공하는 기능

    - <% %> 기호 안에 자바 코드로 구현

    - <% %> 기호를 스크립트릿 이라고 부름

     

     

     

    스크립트 요소의 종류

    - 선언문(declaration tag) : JSP에서 변수나 메소드를 선언할 때 사용

    - 스크립트릿(scriptlet) : JSP에서 자바 코드를 작성할 때 사용

    - 표현식(expression tag) : JSP에서 변수의 값을 출력할 때 사용

     

     

     

     

    선언문 <%! 멤버변수 or 멤버메소드 %>

     

     

    스크립트릿

    - 현재 JSP 페이지에서는 거의 사용되지 않음

    - <% %>안에는 자바코드만 쓸 수 있다

     

     

     

    표현식

    JSP페이지에서 변수나 메소드의 결과값 등을 브라우저에 출력하는 용도로 사용

    <%=값 or 자바변수 or 자바식 %> -> 안에 세미콜론이 있으면 안됨!

     

     

    주석문

    <% -- 내용 -- %>

     

     

    내장객체

    JSP가 서블릿으로 변환될 때 컨테이너가 자동으로 생성시키는 서블릿 멤버 변수

     


    JSP <> HTML 실습


    JSP 페이지 예외처리
    - 404 : 요청한 JSP 페이지가 없을 때 발생하는 오류
    - 500 : 컨테이너에서 JSP 페이지 처리 중에 오류가 발생할 때 표시되는 오류
     - web.xml에서 에러 코드에 대한 예외 처리 페이지 설정 가능

     

     

    JSP welcome 파일 지정
    web.xml에 등록해 두면 브라우저에서는 컨텍스트 이름만으로 요청하여 간단하게 표시할 수 있습니다.
    여러 개의 welcome 파일 지정이 가능합니다.

     

     

     


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

    인클루드 액션태그
    <jsp:include page=“jsp페이지” flush=“true or false”> </jsp:include>
    flush는 지정한 JSP를 실행하기 전 출력버퍼 비움 여부를 지정

     

     

     

    포워드 액션 태그
    <jsp:forward page=“포워딩 할 JSP 페이지”> </jsp: forward >
    ReqeustDispatcher를 이용한 포워딩 방법을 포워드 액션 태그를 사용하여 자바 코드 없이도 포워딩 할 수 있음

     

     

     

    자바 빈

    웹 프로그램, 즉 Java EE 프로그래밍 시 여러 객체를 거치면서 만들어지는 데이터를 전달하거나 저장하는데 사용

    자바의 DTO(Data Transfer Object,

    데이터 전송객체 – 객체와 객체 사이에 데이터를 전달하는 용도로 사용하는 값 객 체) 클래스,

    VO(Value Object, 값 객체) 클래스와 같은 개념 자바 빈을 만드는 방법은 VO클래스 만드는 방법과 동일

     

     

    자바 빈 특징

    - 속성의 접근 제한자는 private

    - 각 속성(attribute, property)은 각각의 setter/getter를 가짐

    - setter/getter 이름의 첫 글자는 반드시 소문자

    - 인자 없는 생성자를 반드시 가지며 다른 생성자도 추가 가능

     

     

     

    유즈빈 액션 태그
    자바코드로 이루어진 자바 빈을 자주 사용할 경우 화면이 복잡해진다는 단점 때문에 이를 보완하기 위해 나온 것이 유즈빈 액션태그

     

     


    유즈빈 액션 태그는 JSP 페이지에서 자바 빈을 대체하기 위한 태그로
    <jsp:useBean id=“빈이름” class=“패키지 이름을 포함한 자바 빈 클래스 [scope=“접근범위”]/>
    id는 JSP 페이지에서 자바 빈 객체에 접근할 때 사용할 이름
    class는 패키지 이름을 포함한 자바 빈 이름
    scope는 자바 빈에 대한 접근 범위를 지정하는 역할

     

     


     

    댓글 (비로그인 댓글 허용하지 않습니다.)