관리 메뉴

거니의 velog

231031_JSP 과제 정리 본문

대덕인재개발원_웹기반 애플리케이션

231031_JSP 과제 정리

Unlimited00 2023. 10. 31. 10:01

===========================
쉽게 배우는 JSP 웹 프로그래밍
# 연습문제 주관식 정리
# 요약정리를 기반으로 개념 정리
===========================

01장 JSP 개요 : 원리를 이해하고 개발 환경 구축하기

	01. 정적 웹 페이지와 동적 웹 페이지의 차이점을 설명하시오.
	
		정적 웹 페이지는 컴퓨터에 저장된 텍스트 파일을 그대로 보는 것이고, 동적 웹 페이지는 저장된 내용을 다른 변수로 가공 처리하여 보는 것이다.
		정적 웹 페이지는 HTML(Hyper Text Markup Language)과 같은 웹 언어로 작성하고,
		동적 웹 페이지는 PHP, ASP, JSP와 같은 웹 언어로 작성한다.
		
		정적 웹 페이지는 미리 만들어놓은 정보만 보여주기 때문에 고객의 취향이나 변화에 적응할 수 없고,
		새로운 것을 추가, 수정, 삭제하는 작업을 모두 수동으로 처리해야 하므로 관리하기 어렵다.
		하지만 동적인 요소가 없기 때문에 데이터베이스도 필요 없고 구축하기 쉬우며, 단순 문서로만 이루어져 있어 서버 간에 통신이 거의 없고 속도가 빠름.
		또한 정적 문서로만 이루어져 있기 때문에 모든 호스팅 서버에서도 동작할 수 있다는 것이 장점이다.
		그러나 기술이 발전함에 따라 사용자의 기호에 맞게 능동적으로 변화하는 웹 페이지가 필요해 져서 이를 위해 동적 웹 페이지를 제공하는
		PHP(Personal Home Page), ASP(Active Server Pages), JSP와 같은 언어가 개발되었다.
		
		현재 우리가 보는 대부분의 웹 페이지는 동적 웹 페이지라고 할 수 있다.
		동적 웹 페이지는 사용자가 웹 페이지에 글을 작성하거나 환경 설정 등을 바꾸면 그 내용이 서버에 있는 데이터베이스에 저장되고
		결과가 웹 페이지에 반영되는 형태로 동작한다.
	02. 웹 프로그래밍 언어 JSP의 특징을 설명하시오.
	
		1) JSP는 서블릿 기술의 확장이다.
		
			JSP에서는 서블릿의 모든 기능을 사용할 수 있다.
			즉, 서블릿과 마찬가지로JDBC, JNDI, EJB 등을 모두 포함하고 있는 강력한 엔터프라이즈 자바 API를 사용할 수 있다.
			또한 쉽게 개발할 수 있도록 JSP 에서는 내장객체, 미리 정의된 태그, 표현식 언어와 사용자 정의 태그를 사용할 수 있다.
			
			*** JNDI란?
			JNDI(Java Naming and Directory Interface)는 Java 프로그래밍 언어를 사용하여 작성된 애플리케이션에 이름 지정 및
			디렉토리 기능을 제공하는 API이다.
			
			*** EJB란?
			EJB(Enterprise Java Bean)는 분산 애플리케이션을 지원하는 컴포넌트 기반의 규약
			
		2) JSP는 유지 관리가 용이하다.
		
			서블릿 기술에는 프레젠테이션 로직과 비즈니스 로직이 섞여 있지만 JSP 기술의 경우 프레젠테이션 로직과 비즈니스 로직을 분리할 수 있기
			때문에 관리하기가 쉽다.
			
		3) JSP는 빠른 개발이 가능하다.
		
			코드를 수정했을 때 서블릿에서는 업데이트를 하고 다시 컴파일 해야 한다. 그러나 JSP의 경우 다시 컴파일 하고 프로젝트를 배포할 필요가 
			없다.
			
		4) JSP로 개발하면 코드 길이를 줄일 수 있다.
		
			JSP 에서는 다양한 액션 태그, JSTL(JavaServer Pages Standard Tag Library), 사용자 정의 태그 등의 다양한 태그와 표현 언어,
			내장 객체 들을 사용함으로써 서블릿보다 코드를 줄일 수 있다.
	03. JSP 페이지의 처리 과정을 설명하시오.
	
		[책 24p 그림 참고] 또는 [ch02 JSP개요 PPT 9p 그림 참고]
		
		1) 웹 브라우저가 웹 서버에 JSP를 요청한다.
			웹 서버는 요청된 Hello.jsp에서 jsp 확장자를 발견하여 JSP 페이지임을 확인하고 웹 서버에 있는 JSP 컨테이너에 전달한다.
		2) JSP 컨테이너는 JSP 페이지를 서블릿 프로그램인 Hello_jsp.java로 변환한다.
		3) JSP 컨테이너는 서블릿 프로그램을 컴파일 하여 Hello_jsp.class로 만들고 이를 웹 서버에 전달한다.
		4) 웹 서버는 정적 웹 페이지처럼 *.class의 실행 결과를 웹 브라우저에 응답으로 전달하므로 웹 브라우저는 새로 가공된 HTML 페이지를 동적으로
			처리한 결과를 보여준다.


02장 스크립트 태그 : 시작 페이지 만들기

	01. 스크립트 태그의 세 가지 종류에 대해 간단히 설명하시오.
	
		1) 선언문 태그
		
			선언문 태그에 선언된 변수와 메소드는 JSP 페이지의 임의의 위치에서 선언할 수 있으며,
			스크립트릿 태그 보다 나중에 선언해도 스크립트릿 태그에서 사용할 수 있다.
			선언문 태그로 선언된 변수는 전역 변수로 사용되고, 선언문 태그로 선언된 메소드는 전역 변수처럼 전역 메소드로 사용된다.
			
		2) 스크립트릿 태그
		
			스크립트릿 태그는 out 객체를 사용하지 않고도 쉽게 HTML 응답을 만들어낼 수 있다.
			가장 일반적으로 사용되며 변수 또는 메소드 선언, 유효식 등 다수를 포함할 수 있다.
			모든 텍스트, HTML 또는 JSP 요소는 스크립트릿 태그 외부에 있어야 한다.
			
		3) 표현문 태그
		
			표현문 태그를 이용하여 선언문 태그 또는 스크립트릿 태그에서 선언된 변수나 메소드의 반환 값을 외부로 출력할 수 있다.
			표현문 태그는 스크립트릿 태그에서 사용할 수 없으므로 이 경우에는 out.println() 메소드를 사용해야 한다.
			표현문 태그에 숫자, 문자, 불린 등의 기본 데이터 타입과 자바 객체 타입도 사용 가능하다.
			그리고 표현문 태그에 작성된 모든 자바 코드의 값은 문자열로 변환되어 웹 브라우저에 출력된다.
			
	02. 선언문 태그와 스크립트릿 태그의 차이점을 설명하시오.
	
		---------------------------------------------------------------------
		           선언문 태그                                          |             스크립트릿 태그
		---------------------------------------------------------------------
		변수 뿐만 아니라 메소드를 선언할 수 있다.		 |    메소드 없이 변수만을 선언할 수 있다.
		서블릿 프로그램으로 변환될 때, _jspService()	 |    서블릿 프로그램으로 변환될 때, _jspService()
		메소드 외부에 배치된다.                     |    메소드 내부에 배치된다.
		---------------------------------------------------------------------
		
	03. 애플리케이션 실행 결과에는 보이지 않는 JSP 주석 표기법은 무엇인가?
	
		<!-- HTML 주석 처리 내용 -->
		<%-- JSP 주석 처리 내용 --%>

03장 디렉티브 태그 : 한글 출력 및 페이지 모듈화 하기

	01. 디렉티브 태그의 세 가지 유형에 대해 간단히 설명하시오.
	
		---------------------------------------------------------------------
		디렉티브 태그                   | 형식                                  | 설명
		---------------------------------------------------------------------
		page                | <%@ page ... %>      | JSP 페이지에 대한 정보를 설정한다.
		include             | <%@ include ... %>   | JSP 페이지의 특정 영역에 다른 문서를 포함한다.
		taglib              | <%@ taglib ... %>    | JSP 페이지에서 사용할 태그 라이브러리를 설정한다.
		---------------------------------------------------------------------
		
	02. JSP 페이지가 사용할 자바 클래스를 설정하기 위한 page 디렉티브 태그의 속성은 무엇인가?
	
		- import
		
	03. JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 디렉티브 태그는 무엇인가?
	
		- include

'대덕인재개발원_웹기반 애플리케이션' 카테고리의 다른 글

231101_JSP 과제 3  (0) 2023.11.01
231101_JSP 개론 5  (0) 2023.11.01
231031_JSP 개론 4  (0) 2023.10.31
231030_JSP 과제 2  (0) 2023.10.30
231030_JSP 개론 3  (0) 2023.10.30