1. JSP(Java Server Pages) 소개

Slides:



Advertisements
Similar presentations
웹 서버 구축 숭의여대 인터넷정보과 최지영. 웹 ? 웹사이트 ? 웹서버 ? 웹서비스 ? IIS? 아파치 ?
Advertisements

8 장 웹 프로그래밍 언어의 종류. 8.1 문서의 표준화  컴퓨터와 웹을 이용하기 위해서는 컴퓨터가 이 해할 수 있는 언어를 사용.  웹 프로그래밍 언어 (Web Programming Languages) 란 인터넷에 웹 서비스를 제공하거 나 제공받기 위하여 사용하는.
BUILDING A SMARTER PLANET 공모전 개요 참가 자격 국내외 대학생/대학원생 개인 또는 5인 이하 팀 (멘토 지도교수님 또는 조교님 포함) 공모 내용 똑똑한 지구 테마로 개발 제안서 제출 후 애플리케이션 작성 개발 환경 학생 PC 또는 IBM 클라우드.
Web Programming 소개 인공지능 연구실. Artificial Intelligence Laboratory 목차  1. HTML5  2. 개발 환경 구축  3. JSP  4. 실습 2.
컴퓨터 통신과 인터넷 2. 컴퓨터 통신 2.1 컴퓨터 통신 장비 ~ 고성능 컴퓨터. 전화선이나 전용선, 모뎀이나 통신카드, 통신용 프로그램 컴퓨터 IBM AT (286) 호환 기종 – 문자 서비스만 IBM AT (486-RAM 16MB) 급 호환 기종이상.
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
학습목표 통신과 네트워크의 개념 컴퓨터 통신망 인터넷 정의 및 역사 인터넷 주소 체계 웹 서비스의 정의 및 특징
컴퓨터 네트워크와 인터넷.
전자상거래 원론: 제18장 전자상거래 수행전략 및 구현.
제 09 장 인터넷과 월드와이드웹 한국대학교 홍길동 교수.
목 차 ▶ 회원가입 ▶ 시스템접속 ▶ 지원자 서비스 개인회원 단체회원 대국민 서비스 로그인 메인 화면 내 정보방 신청관리
Introduction to Servlets
웹 페이지.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
6장 인터넷 서비스와 활용 6.1 인터넷의 역사와 사용환경 6.2 웹(WWW)과 홈페이지 6.3 인터넷/웹 기반 서비스
APPEON SOLUTION INTRODUCTION.
Doc No. IRS-ITRINITY
웹 해킹 기초와 실습.
7. 인터넷 환경과 멀티미디어 멀티미디어의 이해 임순범.
Web Programming 강의 소개
2 서블릿의 기초.
3장. 웹 어플리케이션과 JSP 및 Servlet의 이해 제3장.
자바 서버 API와 서블릿 데이타베이스 실험실 이찬섭, 박용문.
제품소개서 탭스 메일러 4 (TABS Mailer 4) 탭스랩주식회사.
5 익셉션 처리.
Chapter 04. 웹 보안 : 웹, 그 무한한 가능성과 함께 성장한 해킹
ASP를 이용한 SHOPPING MALL 만들기
동호회 구축 제안서 인터넷전문가그룹 4biz.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
2 장 인터넷의 개요.
Web Servers (IIS & Apache)
1. JSP(Java Server Pages) 소개
웹과 PHP를 이해하고 APM 설치 방법을 알아보자!
3 JSP의 기초.
7 JSP의 기초.
4 쿠키와 세션.
1강 01장. 웹과 자바.
ASP 정 보 보 호 학 과 양 계 탁.
NTAS 소개 (Network Transaction Application Server)
트루디자인(TrueDesign) 제품 소개서
REPORT DESIGNER5.0 FAQ.
인터넷 보안 정보 보안 개론 5장.
(Network Transaction Application Server)
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
9강. JSP 본격적으로 살펴보기-I JSP 태그의 개념 이해 JSP 동작 원리 JSP 내부 객체
Web Server Program 구현 - 네트워크 프로그래밍 - 박내갑 ( ) 김상언 ( )
H2TV ASTB 관리 기능 메뉴얼 제이웨이 영상사업실 기술개발팀.
04장 웹 보안: 웹, 그 무한한 가능성과 함께 성장한 해킹
B2B 전자도서관 B2B 전자도서관 웹서비스 사용자 매뉴얼.
Html(front end) & jsp(back end)
JDBC (Java Database Connectivity)
Web Basic 김영성 인천대 OneScore
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
KRISTAL 2006 워크숍 KRISTAL 개발 업체 발표
CGI (Common Gateway Interface)
국가문화예술지원시스템 사용방법 회원가입ㆍ지원신청 한국문화예술위원회
HTML, PHP, MySQL, Javascript
시작하기 전에 웹 프로그래밍 전반적인 환경을 이해한다. JSP가 등장한 배경을 알아본다.
NTAS 소개 (Network Transaction Application Server)
CGI (Common Gateway Interface)
2장. 홈페이지를 만들기 전에 홈페이지 제작 목적과 제작 과정 홈페이지 제작 관련 기술들 홈페이지 제작에 필요한 준비물
myfood.com 상명대 맛집 홈페이지 구축 제안서
Internet Computing KUT Youn-Hee Han
GoAhead Web Server.
Ⅳ. 컴퓨터와 생활.
B2B 전자도서관 B2B 전자도서관 웹서비스 사용자 매뉴얼.
ASP 기초개념 ASP란? ActiveX 서버 컴포넌트.
웹 프로그래밍 기술 요약 Yang-Sae Moon Department of Computer Science
Presentation transcript:

1. JSP(Java Server Pages) 소개 웹 프로그래밍 전반적인 환경을 이해 JSP의 기술 및 동작방식에 대해 이해 JSP 공부 방법과 알아야 하는 기술 및 수준

목차 웹과 동적 컨텐츠 JSP 개요 JSP의 특징 Servlet의 기본 JSP의 동작 원리 JSP 학습을 위한 관련 기술

Web browser history 1989: World Wide Web 개발 Tim Berners-Lee (CERN) 1993-95: Xmosaic  Netscape Marc Andreessen (NCSA) Javascript (Navigator2.0) 1995: Yahoo, Amazon, eBay, … Jerry Yang, David Filo, Jeffrey Bezos, Pierre Omidyar 1995-97~: MS Explorer 2004~: Firefox (Mozilla), Safari (Apple), Chrome (Google), Opera

웹과 동적 컨텐츠 웹의 동작 Client HTTP Server

정적 페이지, 동적 페이지 정적 페이지 : 고정된, 변하지않는’ 성격을 가진 페이지 동적 페이지 : 자동으로 생성된 페이지, 기존의 웹 서버에 새로운 기능을 가진 프로그램을 탑재하여 동적으로 HTML을 생성 <<동적인 컨텐츠 생성을 수용하는 서버측 구성>>

CGI(Common Gateway Interface) 동적 페이지를 위한 기술 웹 서버와 동적 컨텐츠 생성을 맡은 프로그램 사이에서 정보를 주고받는 인터페이스 초기 웹 프로그래밍에 사용된 기술 프로세스 단위로 실행되기 때문에 사용자가 증가하면 급격히 성능 저하 http://xxx.xxx.xxx/cgi-bin/a.cgi 프로세스 a.cgi 사용자 증가에 따른 시스템 성능의 급격한 저하

확장 CGI 전통적인 CGI 방식의 단점들을 보완한 기술 매번 프로세스를 생성하는 방식이 아니고 동일한 프로그램에 대해서는 하나의 프로세스를 생성한 후 여러 개의 스레드로서 요청을 처리하는 방식 -> 시스템의 부하를 줄임 ASP, PHP, Servlet, JSP 등 ASP – MS사에서 만들어진 확장 CGI, 특정 웹 서버와 OS에 동작 PHP – ASP와는 달리 특정 영역에서만 동작하지않음, 적은 명령어들로서 프로그래밍이 가능, 기능들이 미약 Servlet – Sun사, Java 언어를 기반으로 하여 동적인 컨텐츠를 생성, Java 코드안에 HTML태그가 혼재되어 있어서 작업에 대한 분리적인 측면에서 효율성이 떨어짐 JSP – Sun사, Java언어를 기반, HTML태그 사이에 스크립트 언어 형식으로 프로그램을 작성

서버측 스크립트 (Server Side Script) 서버측에서 동적인 컨텐츠 생성을 담당하는 기술 서버측에 위치해서 실행되는 스크립트 언어 HTML과 스크립트 언어를 함께 사용할 수 있는 기술로 웹 서버에서 해석 데이터베이스 연동 처리 등 다양한 구현이 가능 별도의 컴파일 과정없이 HTML 태그 수정 가능 JSP, Servlet, PHP, CGI, ASP 클라이언트측 스크립트(Client Side Script) 웹 브라우저에서 실행되는 언어 자바 스크립트, VB 스크립트, Jscript

웹 프로그래밍 언어의 종류 HTML은 WWW기반의 웹의 발전에 가장 중요한 역활을 한 마크업언어이다. 즉 정보를 한곳에 모아주는 역할을 하기 때문이다. 마크업언어는 일련의 요소를 단순하게 나열 요소들은 어떠한 특수문자들에 의해 구분되며, 특수문자안에 포함되어있는 일련의 구문이나 다른 항목을 어떻게 표시할지를 정하는 언어이다. HTML은 항상 같은 정보를 표시하는 정적페이지 그러나 정보는 늘 바뀌게 되므로 사실 항상 같은 내용을 표시한다는 것은 잘못된 정보를 표시할 가능성도 있다는 문제점을 갖는다

웹 프로그래밍 언어의 종류 CGI(Common Gateway Interface) 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약 CGI는 C/C++등의 프로그래밍 언어를 숙달되게 사용할 줄 알아야 하는 것은 물론, 해당 애플리케이션이 생성한 텍스트을 조금이라도 변경해야하는 작업을 수행할 때마다, 실행파일을 다시 컴파일 해야한다는 단점을 갖고 있다.

웹 프로그래밍 언어의 종류 ASP(Active Server Page) VB언어를 기반으로 스크립트방식으로 동적인 웹 페이지를 작성할 수 있도록 지원하는 기술 ASP는 ActiveX라는 제공된 컴포넌트를 사용할 수 도 있고, 이것을 직접 개발하기 위한 기능도 제공한다. ASP의 치명적인 단점은 특정 플랫폼과 특정 웹 서버에서만 동작한다는 점이다. 오직 Windows플랫폼에서 웹 서버로 IIS(Internet Information Server)만을 사용한다.

웹 프로그래밍 언어의 종류 PHP(Personal HomePage tools, Professional Hypertext Preprocessor) PHP는 ASP와는 달리 특정 플랫폼에서만 동작하지 않는다. PHP는 C 언어를 기반으로 만들어진 서버에서 실행되는 스크립트언어로  기존의 C언어에 익숙한 개발자들이 보다 쉽게 접근할 수 있다는 장점 그러나 컴포넌트를 사용할 수 없을 뿐만 아니라, 보안에 취약한 점을 가지고 있어서 PHP기반으로 만들어진 웹사이트들이 해킹의 목표가 되고 있다는 단점

웹 프로그래밍 언어의 종류 Servlet 과 JSP(Java Server Page) JSP와 Servlet은 자바기반으로 만들어진 웹 프로그래밍 언어이다. Servlet이 자바코드에 의존적이라면 JSP는 덜 의존적이라 프로그래밍하기가 더 쉽고 편하다. JSP와 Servlet은 같은 처리구조를 가진다. JSP는 실행시 Servlet으로 변환된다. 단 한번만 서블릿으로 변경되면 코드를 수정하기 전까지 재 변환작업이 일어나지 않기 때문에 수행속도 JSP나 서블릿간에  별차이가 없다.

동적 컨텐츠 처리를 위한 기술들 용 어 설 명 CGI -동적 컨텐츠 처리를 위한 가장 전통적인 방법 -CGI용 프로그램은 CGI 규약만 지키면 어떤 언어라도 가능 -프로세스 기반 프로그램으로 시스템의 효율성 측면에서 시스템에    많은 부하 확장 CGI ASP - 비주얼 베이직 언어의 문법들중 일부를 사용 - ActiveX 컴포넌트로 접근가능 - IIS 와 사용(윈도우 운영체제) PHP - C언어와 비슷한 문법을 사용 - 리눅스처럼 소스가 공개되어 있음 - 윈도우, 유닉스 운영체제지원, 아파치, IIS 서버 등 지원 Servlet/JSP - Java 언어를 기반으로 하여 Java 언어의 장점을 수용 - 플랫폼에 대해 독립적임과 동시에 컴파일된 파일을 재컴파일    없이 즉시적인 이식이 가능 - 사용자정의 태그로 기능 확장이 가능

웹 프로그래밍과 웹 어플리케이션 (1) 웹 어플리케이션이란 웹을 기반으로 실행되는 프로그램을 말한다. 웹 프로그래밍과 웹 어플리케이션의 관계는 웹 프로그래밍을 통해 웹 어플리케이션을 구현한다고 할 수 있다.

웹 프로그래밍과 웹 어플리케이션 (2) 웹 어플리케이션의 구성요소 기능 웹 브라우저 웹 서버 웹 어플리케이션 서버(WAS) 웹에서 클라이언트이며,  사용자의 작업창이라 할 수 있다. 모든 사용자의 요청은 웹 브라우저를 통해서 웹 서버로 전달된다. 웹 서버 웹 브라우저의 요청을 받아들이는 곳으로, 웹 브라우저가 요청한 작업의 결과도 웹 브라우저에게 응답을 담당하는 곳이다. 또한 요청된 페이지의 로직의 수행 및 데이터베이스와의 연동을 위해 웹 어플리케이션 서버에 이들의 처리를 요청하는 작업을 수행한다. 웹 어플리케이션 서버(WAS) 웹 브라우저가 요청한 작업에 필요한 프로그래밍 로직의 처리 및 데이터베이스와의 연동을 처리하는 부분이다. 이때 처리결과를 웹 브라우저로 응답하기 위해서 처리결과를 웹 서버로 보낸다. 데이터베이스 데이터의 저장소로 웹에서 발생한 데이터는 모두 이곳에 저장된다. 게시판의 글들, 회원의 정보 등을 예로 들 수 있다. 사용자의 입장에서 가장 안쪽에 있기 때문에 데이터베이스 서버를 Back-end Server라고도 부른다.

CGI방식 과 웹 어플리케이션 서버방식(1) CGI방식 한 요청에 대해 한 프로세스가 생성이 되어서 그 요청을 처리한 뒤 종료한다.

CGI방식 과 웹 어플리케이션 서버방식(2) CGI방식 이것은 시스템에 많은 부하를 가져오기 때문에 중대한 단점이 된다.

CGI방식 과 웹 어플리케이션 서버방식(3) 웹 어플리케이션 서버 방식 어플리케이션 서버방식은 웹 서버가 직접 어플리케이션 프로그램을 처리하는 것이 아니라, 웹 어플리케이션 서버에게 처리를 넘겨주고 어플리케이션 서버가 어플리케이션 프로그램을 처리한다. 어플리케이션 서버 방식은 여러명의 사용자가 동일한 페이지를 요청하여 같은 어플리케이션 프로그램을 처리할 때 오직 한 개의 프로세스만을 할당하고 사용자의 요청을 쓰레드(Thread) 방식으로 처리한다

CGI방식 과 웹 어플리케이션 서버방식(4) 웹 어플리케이션 서버 방식 여러 개의 요청에 오직 1개의 프로세스만을 할당하고 사용자의 요청을 쓰레드 방식으로 처리한다는 것은 메모리를 절약할 수 있다 CGI방식에 비해 동시에 더 많은 사용자에게 서비스를 할 수 있다. 이것은 전체적인 성능의 향상을 가져와서 보다 안정적인 웹 서비스를 제공하는 것이 가능하다.

JSP 개요 웹 프로그래밍 언어들 중의 하나 동적인 페이지를 생성하기 위한 서버측 스크립트 언어 자바언어를 기반 객체지향적, 플랫폼 독립적, 네트워크 지향적, 뛰어난 보안성, 멀티스레드 기능, 친근한 코드 정적인 HTML 화일 <HTML> <HEAD><TITLE>Example</TITLE> </HEAD> <BODY> 보통의 HTML 페이지의 형태입니다. <br> 오늘의 날짜와 시간은 : 2007년 9월 2일 09시 입니다. </BODY> </HTML>

JSP 개요 서버 스크립트로 구현한 예(JSP) <%@ page import=“java.util.*, java.text.*" %> <HTML> <HEAD><TITLE>Hello World</TITLE></HEAD> <BODY> <% Date data = new Date(); SimpleDateFormat simple Date = new SimpledateFormat(“yyyy-MM-dd”); String strdate = simpleDate.format(date); %> 보통의 HTML 페이지의 형태입니다. <br> 오늘 날짜는 <%=strdate%>입니다. </BODY> </HTML>

Servlet의 기본 완전한 자바파일의 형태 JSP와는 달리 자바 코드 안에 HTML 태그들이 포함 JSP (.jsp)  Servlet (.java)  컴파일 (.class) 요청 실행결과 (.html) 응답

서블릿으로 구현한 예 public class CMemberTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=EUC_KR"); PrintWriter out = response.getWriter(); out.println("<HTML><HEAD><TITLE>로그인</TITLE></HEAD></HTML>"); out.println(“<BODY><H2>Hello World : 헬로월드</H2>"); out.println(“오늘의 날짜와 시간은 : “+new java.util.Date()); out.println("</BODY></HTML>"); }

JSP의 특징 많은 사용자 접속도 원활히 처리할 수 있다. 빈즈라고 하는 자바 컴포넌트를 사용할 수 있다. 최초의 서블릿으로 컴파일 된 후에는 메모리에서 처리 많은 사용자 접속도 원활히 처리할 수 있다. JSP나 다른 서블릿 간의 쉬운 데이터 공유 page, request, session, application scope 으로 가능 자바의 모든 기능을 사용할 수 있다.  무한한 확장성 IBM, 오라클, Sun 등에서 강력히 지원 사용자 태그를 만들어 사용할 수 있다. JSTL(JSP Standard Tag Library)과 같은 다양한 기능의 태그 라이브러리 이용 가능 다양한 운영체제와 여러 회사의 JSP 개발/실행 환경을 이용할 수 있다.

일반적인 WWW서비스의 동작 과정 http://www.xxx.xxx/index.html 80 포트 <HTML> <BODY> … index.html ④요청 분석 HTML 파일 읽기 DNS 서버 ② IP 주소로 변화 211.xxx.xxx.com ① URL 입력 www.xxx.com ⑥ HTML 태그 분석 변환/화면 구성 PC/웹 브라우저 웹 서버 80 포트 ③해당 HTML 페이지 요청 http://www.xxx.xxx/index.html ⑤ HTML 파일(텍스트) 전송

JSP의 동작 과정 DB http://www.xxx.xxx:8080/index.jsp 8080 index. jsp 포트 <HTML> <BODY> … index. jsp 8080 포트 DNS 서버 PC/웹 브라우저 웹 서버 서블릿 JSP/서블릿 컨테이너 DB ② IP 주소로 변화 211.xxx.xxx.xxx ① URL 입력 www.xxx.com ⑨ HTML 태그 분석 변환/화면 구성 ③ JSP 페이지 요청 http://www.xxx.xxx:8080/index.jsp ⑧ 결과 페이지(HTML) 전송 ④ 요청/분석 넘기기 ⑦ 실행 결과 전송 ⑦데이터 전송 ⑥ 서블릿 적재 ⑤ 컴파일

JSP의 동작 원리 JSP 서블릿 컴파일과 처리 과정

JSP 학습을 위한 관련 기술 JSP 학습을 위한 필수 기술 서블릿 생명주기 이해 서블릿 기초 프로그래밍 request, response 처리 GET/POST 처리 서블릿 오라클, MySQL 등 원격지 데이터베이스 연결 처리 경험 JDBC 드라이버 세팅 ResultSet, PreparedStatement 데이터 핸들링 JDBC 패키지와 클래스 이해 클래스 DOC을 참조하여 프로그래밍이 가능한 수준 JDK 설치 및 환경설정 자바 언어 기본, 객체지향 개념 상속, 오버로딩, 오버라이딩 인터페이스 구현 java.util, java.io 패키지 쓰레드, 예외 핸들링 자바 비 고 프로그램 경험 필수 기술

JSP 학습을 위한 관련 기술 JSP를 배우는데 도움이 되는 기술 유닉스에서 웹 서버 세팅 경험 웹 서버 세팅 CGI, ASP, PHP등 웹 프로그래밍 경험 웹 프로그래밍 테이블 생성과 키에 대한 이해 키 관계 설정 기본 SQL 문의 사용 데이터베이스 연계 프로그래밍 경험 데이터베이스 필요한 기능을 함수로 구현 가능한 수준. 메서드 만들기 FORM 연계 이벤트 처리 자바스크립트 수작업으로 코딩이 가능한 수준. CSS, 레이어 이해 HTML 기초 태그 사용 FORM 관련 태그 사용 HTML 최소 요구사항 프로그램 경험 관련 기술