JavaServerPage 전혜영.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
12 장 자바 애플릿. 2 Applet 개요 Applet 프로그램 – 웹 페이지에 포함되어 구동 된다. 웹 브라우저나 애 플릿뷰어 (appletviewer) 에서 실행되는 프로그램 – 웹 브라우저 내에 Applet 을 해석하여 실행할 수 있 도록 Applet 구동용 인터프리터가.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
4. JSP의 스크립트 요소 Script 요소의 이해 선언문(Declaration) Scirptlet 표현식 주석
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
9 표준 액션.
4장. JSP의 구성요소와 스크립팅요소 제4장.
Internet Computing KUT Youn-Hee Han
PHP입문 Izayoi 김조흔.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 Bean을 이용한 회원가입 양식 작성하기
3 JSP의 기초.
7 JSP의 기초.
6장. JSP 지시문 (Directives) 제6장.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Chapter05 오디오와 비디오 HTML5 Programming.
JSP Programming with a Workbook
Lesson 9. 예외처리.
JSP(Java Server Page) JSP기초 JSP 지시어 PSLAB 남지민 년 2월 17일.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
9강. JSP 본격적으로 살펴보기-I JSP 태그의 개념 이해 JSP 동작 원리 JSP 내부 객체
Servlet 서블릿 기초 FORM 처리 서블릿의 API 세션과 쿠키 com.oreilly.servelet 패키지
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
7장 JSP페이지의 내장객체(Implicit Object)와 영역(Scope)
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
5장. JSP 페이지의 스크립트 요소 이 장에서 배울 내용 : JSP페이지를 구성하는 구성요소중 하나인 스크립트요소를 학습하는 장으로 JSP페이지의 스크립트의 3가지 요소인 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)에 대해.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
자바응용.
10장. 자바빈(JavaBean) 이 장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다. 하나의 JSP페이지 안에 디자인부와 로직부가 혼재하게 되면 프로그램의 협업과 유지보수가 어렵다. 자바빈은 로직을.
이장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다
인터넷응용프로그래밍 JavaScript(Intro).
2장. JSP 프로그래밍을 위한 환경구성 제2장.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
7장. JSP페이지의 내장객체(Implicit Object)와 영역(Scope)
1. JSP를 시작하며 인천대학교 컴퓨터공학과 성 미 영
자바 5.0 프로그래밍.
Chapter 08 : 서블릿 고급3. chapter 08 : 서블릿 고급3 학습목표 서블릿 속성과 Scope ServletContext HttpSession HttpServletRequest Filter API 요청 필터 응답 필터 url-pattern 8 가지.
JA A V W. 06.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
4장 JSP 페이지의 디렉티브(Directive)
JSP Programming with a Workbook
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
Introduction to JSP & Servlet
제 04 장 JSP 기본 문법 학기 인터넷비즈니스과 강 환수 교수.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
6 쿠키와 세션.
7 생성자 함수.
20 XMLHttpRequest.
Presentation transcript:

JavaServerPage 전혜영

목차 JSP란… Java Life Cycle JSP기본 문법 ActionTag Cookie / Session MVC Pattern

JavaServerPage JSP의 장점 운영체제나 웹서버에 독립적으로 운영 코드 부분을 손쉽게 에디터를 이용 가능 <태그> 형식으로 작성하나 서블릿으로 자동 변환 [ 참고 ] 익스플로우(5.x) 환경 설정 도구 – 인터넷 옵션 – 고급 – “HTTP오류메세지표시” 해제하면 서버가 보내준 에러 페이지를 확인 가능

Java Life Cycle jspInit ( ) _jspService ( ) jspDestroy ( ) class 파일존재? NO JSP -> 서블릿파일 YES JAVA -> CLASS jsp요청 M에 로딩? jspInit ( ) NO YES _jspService ( ) jspDestroy ( )

JSP 기본 문법 Directive <%@ %> Scripting Declaration <%! %> member 선언시 Scriptlet <% %> 자유로운 자바코드 Expression <%= %> 출력 ActionTag <jsp:tagname /> 주석 <!-- HTML 주석  <%-- JSP 주석 --%> <% // %> <% /* */ %>

1.Scripting Element 선언식 (Declaration) [2] 스크립틀릿 (Scriptlet) <%! 멤버필드 OR 메소드 선언 %> <jsp:declaration> 자바코드 </jsp:declaration> 클래스 멤버 필드나 메소드를 선언시에 사용 [예] jspInit() / jspDescroy() 선언시 [예] 여기에 선언된 변수는 _jspService() 밖에 선언 [2] 스크립틀릿 (Scriptlet) <% 자바 코드 %> _jspService()안에 직접 코딩 [3] 표현식 (Expression) <%= 함수나 변수 %> <jsp:expression> </jsp:expression> 어떤 출력 값을 직접 끼워 넣고자 할 때 서블릿의 out.print()에 삽입되기에 세미콜론(;)을 넣으면 안됨

_jspService() 내장객체 request HttpServletRequest response HttpServletResponse out PrintWriter session HttpSession application ServletContext config ServletConfig page this와 유사한 개념 pageContext PageContext exception Exception

2.Directive Element page include taglib 변환될 서블릿이 필요로 할 클래스들을 import 하거나 문서 형식등을 설정시 include 이 페이지에 다른 파일을 껴서 사용하고자 할때 taglib 사용자 정의 태그 사용시

2.1page directive 속성 <%@page import=“java.util.ArrayList” %> contentType errorPage isErrorPage isThreadSafe session buffer autoflush extends info pageEncoding

JavaBeans 컴포넌트 개념으로 재사용이 가능한 자바 클래스 ActionTag를 사용 ( xml문법 ) 장점 JSP에서 자바 코드가 없어진다 객체 공유가 간단해진다 화면 폼의 입력값을 객체에 저장하는 일이 간단해진다 Bean 사용시 주의점 빈클래스의 생성자는 인자가 없어야 한다 빈클래스는 public으로 선언된 멤버변수를 지정하지 않고 setXXX() / getXXX()를 이용 ( 권장 )

ActionTag 종류 <jsp:useBean> <jsp:setProperty> <jsp:getProperty> <jsp:include> <jsp:forward> <jsp:plugin>

객체 생성<jsp:useBean> <jsp:useBean id=‘객체명’ class=‘클래스명’ scope=‘범위’/> <jsp:useBean id=‘bean’ class=‘pack.ABean’/> <% pack.ABean bean = new pack.ABean() %> scope에 범위를 지정하면 다른 페이지에서도 빈객체를 공유

빈의 공유 page request session application - PageContext 객체에 저장 ( 기본값 ) - ServletRequest 객체에 저장 session - HttpSession 객체에 저장 application - ServletContext 객체에 저장

조건에 따라 빈 생성 <jsp:useBean ~~> 문장들 </jsp:useBean> 새로운 빈이 생성될 때만 “문장들”이 시행되기에 여러 페이지에서 빈을 공유시 초기화하는 용도로 사용한다

속성<jsp:getProperty> <jsp:getProperty name=‘빈객체명’ property=‘속성이름’/> name : <jsp:useBean>의 id 값과 동일 property : 빈클래스의 getXXXX()의 XXXX에 해당되는 이름 ( 첫글자만 소문자 ) <jsp:getProperty name=‘bean’ property=‘attribute’/> <% bean.getAttirbute(); %>

속성<jsp:setProperty> <jsp:setProperty name=‘빈객체명’ property=‘속성이름’/> name : <jsp:useBean>의 id 값과 동일 property : 빈클래스의 setXXXX()의 XXXX에 해당되는 이름 ( 첫글자만 소문자 ) <jsp:setProperty name=‘bean’ property=‘attribute’/> <% String a = request.getParameter(“attribute”); bean.setAttirbute( a ); %> 만일 폼의 각 요소 이름과 빈의 속성이름이 대소문자까지 모두 일치하다면 *문자 사용이 가능 <jsp:setProperty name=‘빈즈객체명’ property=‘*’/>

동적 페이지 삽입 메인 페이지가 요청을 받는 시점에서 다른 페이지를 삽입하는 경우 <jsp:include page=‘Relative url’ flush=‘true’/> JSP 1.1의 경우 flush의 속성값이 true로 고정되었으나, JSP 1.2에서는 선택이고 기본값이 false이다 포함되는 페이지가 변경되어도 메인 페이지를 수정할 필요가 없다

비교 1 - <jsp:include> request 시 main.jsp ~~~~~ <jsp:include page=‘sub.jsp’/> sub.jsp =====

비교 2 - <%@ include file=‘url’ %> main.jsp ~~~~~ <%@ include fiel=‘sub.jsp’ %> _main_jsp.java ~~~~~ ===== 서블릿 변환시 sub.jsp =====

페이지 전환 <jsp:forward page=‘url’ /> 기존의 request 연결을 유지하면서 서버상의 url로 request 정보를 전달 서블릿상에서 RequestDispatcher rd = getServletContext().getRequestDispatcher(“url”); rd.forward( request, response ); <참고> response.sendRedirect(“url”); 이는 기존 연결을 끊고, 새로운 url로 재접속을 하기에 요청정보를 유지하지 못한다

JSP에서 애플릿 삽입 브라우저에서 자바2 플랫폼을 지원하도록 하는 매커니즘 자바 플러그인 사용시 테그 Explorer : <object> Nescape : <embed> JSP에서는 <jsp:plugin> 지원 <jsp:plugin type=‘applet’ code=‘애플릿클래스명’ codebase=‘디렉토리경로’ width=‘300’ height=‘300’/> type : applet or bean 다른 속성은 html의 <applet> 속성과 동일 <jsp:plugin>은 사용자의 브라우저가 자바 플러그인을 실행시킬 수 있는지에 따라 결정되기에 실패시 출력할 컨텐트를 정하도록 지원 <jsp:fallback> 죄송..자바를 지원하지 못했습니다 </jsp:fallback>

Model 1 Architecture

Model 2 Architecture

MVC Pattern 서블릿이 초기 요청을 분석하여 처리한 후 그 결과치를 다른 JSP 페이지로 전송하는 방식 request Servlet Bean response JSP

3-Tier Web Architecture

Java 2 Platform, Enterprise Edition

Java Naming and directory Interface