00. 소개 주교재 참고자료 중간(20) 기말(20) 출석(30) 과제(30) 자바 웹 프로그래밍(개정판)

Slides:



Advertisements
Similar presentations
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
Ch.07-5 xml-rpc 사용하기 김상엽.
2. JSP의 환경설정 제 2장 JSP의 환경설정 웹 애플리케이션과 디렉토리 구성 JDK 설치하기 JSP Container
Power Java 제2장 자바 개발 도구.
1. JSP(Java Server Pages) 소개
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
1. JSP(Java Server Pages) 소개
1강 01장. 웹과 자바.
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
서블릿 이해하기 JSP 기반의 서블릿과 서블릿 소스 코드를 이해한다. 간단한 서블릿 프로그램을 제작할 수 있다.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
Grade Server Team14. Attention Seeker
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
2장. JSP 프로그래밍을 위한 환경구성 제2장.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
시작하기 전에 웹 프로그래밍 전반적인 환경을 이해한다. JSP가 등장한 배경을 알아본다.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
자바 5.0 프로그래밍.
인천대학교 웹과 인터넷 수업 개요 및 내용 소개.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
웹(WWW).
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
1장 웹 프로그래밍의 개요 이장에서 배울 내용: 월드 와이드 웹(World Wide Web, WWW)기반에서 동작되는 웹 프로그래밍에 대해 학습하고 , 이러한 웹 기반에서 동작되는 웹 어플리케이션이 어떠한 방식으로 발전해 왔는지 알아본다. 또한 이러한 웹 어플리케이션의.
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
Presentation transcript:

00. 소개 주교재 참고자료 중간(20) 기말(20) 출석(30) 과제(30) 자바 웹 프로그래밍(개정판) 황희정 [한빛미디어] 참고자료 Head First Servlets & JSP 케이시 시에라 등 저/ 김종호 역 [한빛미디어] 기타 다수 중간(20) 기말(20) 출석(30) 과제(30) 2009년 2학기 자바프로그래밍(2)

01. JSP 시작 인터넷과 웹 프로그래밍 HTTP 프로토콜 자바와 서블릿 그리고 JSP HelloWorld 프로그램 제작 2009년 2학기 자바프로그래밍(2)

웹 프로그래밍 기술 >>HTML과 클라이언트스크립트 기술 인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >>HTML과 클라이언트스크립트 기술 HTML: www 서비스를 표현하기 위해 사용하는 언어 www를 통해 서비스하는 모든 내용은 HTML로 표현되어야 함 HTML은 텍스트 파일로 정적인 정보만 처리 가능 동적으로 변하는 정보를 처리할 수 없음 동적인 컨텐츠 처리하기 위해 CGI, Fast CGI, PHP, ASP, JSP 등의 기술이 사용 클라이언트 스크립트 자바스크립트가 대표적. 웹 브라우저가 스크립트 해석의 주체 웹 브라우저 핸들링은 가능하지만 서버 연동은 불가능 2009년 2학기 자바프로그래밍(2)

인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >> CGI CGI : Common Gateway Interface 초기 웹 프로그래밍에 사용된 기술 프로세스 단위로 실행되기 때문에 사용자 증가하면 급격히 성능 저하 http://xxx.xxx.xxx/cgi-bin/a.cgi 프로세스 a.cgi 사용자 증가에 따른 시스템 성능의 급격한 저하 2009년 2학기 자바프로그래밍(2)

웹 프로그래밍 기술 >> CGI 처리 순서 인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >> CGI 처리 순서 2009년 2학기 자바프로그래밍(2)

웹 프로그래밍 기술 >> 서버 스크립트 기술 인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >> 서버 스크립트 기술 HTML과 스크립트 언어를 함께 사용할 수 있는 기술로 웹 서버에서 해석 데이터베이스 연동 처리 등 다양한 구현이 가능 별도의 컴파일 과정없이 HTML 태그 수정 가능 서버 스크립트로 구현한 예(JSP) <%@ page contentType="text/html;charset=euc-kr" %> <HTML> <HEAD><TITLE>Hello World</TITLE></HEAD> <BODY><H2>Hello World : 헬로월드</H2> 오늘의 날짜와 시간은 : <%= new java.util.Date() %>  asp 의 경우 <%=now %> </BODY> </HTML> 2009년 2학기 자바프로그래밍(2)

웹 프로그래밍 기술 >> 서버 스크립트 기술 인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >> 서버 스크립트 기술 서블릿(CGI 도 유사) 으로 구현한 예 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>"); } 2009년 2학기 자바프로그래밍(2)

웹 프로그래밍 기술 >> 서버 스크립트 기술 인터넷과 웹 프로그래밍 웹 프로그래밍 기술 >> 서버 스크립트 기술 ASP(Active Server Page) : 윈도우 운영체제에 기반한 웹 애플리케이션 기술로 비교적 쉽고 빠르게 웹 애플리케이션 구현이 가능하다. 최근 윈도우 개발 환경이 닷넷(.Net) 플랫폼으로 변화 되면서 ASP.Net 이라는 이름으로 변경되어 보다 강력해 졌다. PHP(Professional Hypertext Preprocessor) : 오픈소스 프로젝트로 다양한 운영체제와 웹서버를 지원한다. 빠른 처리속도와 메일, 데이터베이스 연동기능등을 통해 초기 서버 스크립트 기술의 대표로 주목 받았으나 완전한 프로그래밍 언어가 아닌 관계로 기능확장에 한계가 있다. 최근까지도 거급된 발전을 통해 처음 보다 많이 향상 된 기능을 제공하나 예전에 비해 전체적인 사용빈도는 떨어진다. JSP(Java Server Page) : 서블릿 이라고 하는 자바 웹 프로그래밍 기술에 기반을 두고 있으며, PHP 나 ASP와 같이 HTML과 함께 스크립트를 사용할 수 있도록 되어 있다. JSP 의 장점은 스레드 기반으로 시스템 자원을 절약하고 효율적인 공류가 가능하며 최초 요청시 서블릿으로 컴파일 되어 이후 요청에 대해서는 메모리에서 처리 하므로 보다 빠른 처리 속도를 제공 한다. 또한 자바 언어의 모든 기능을 사용할 수 있으므로 무한한 확장성을 자랑한다. 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 개요 HTTP 요청과 HTTP 응답 HTTP 프로토콜 : TCP/IP 를 기반으로 하여 웹에서 사용하는 프로토콜로서 요청(Request) 과 응답(Response) 데이터를 전송하는 방식 HTTP 요청과 HTTP 응답 HTTP 요청(Request) 주요 구성요소 HTTP 메소드 (실행할 액션) 접근하고자 하는 URL 폼 파라미터 (메소드의 매개변수와 비슷함) HTTP 응답(Response) 주요 구성요소 상태코드 ( 요청 처리에 대한 성공여부) 컨텐츠 타입 (텍스트, 그림, HTML 등) 컨텐츠 (HTML 코드, 이미지 등) 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 HTTP 메소드 HTTP 메소드 : HTTP 요청의 종류 및 폼 파라미터의 포맷을 정의. 주로 사용하는 메소드는 GET, POST 가 있음 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 HTTP 메소드 – GET 메소드 GET 메소드 : 단순한 자원(HTML 문서, 이미지 등) 요청. 간단한 파라미터 정도만 HTTP 요청 시 사용 GET 메소드 내용 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 HTTP 메소드 – POST 메소드 POST 메소드 : 사용자의 입력 값을 HTTP 요청 시 서버에 전달. 복잡한 파라미터 사용 가능 POST 메소드 내용 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 HTTP 응답 HTTP 응답은 간단히 헤더와 몸체로 구성되어 있다. 헤더에는 사용된 프로토콜이 뭔지, 보내준 요청이 성공했는지, 몸체에 포함된 컨텐츠의 종류는 무엇인지 등이 들어 있다. 몸체에는 HTML과 같은 컨텐츠가 들어 있다. 2009년 2학기 자바프로그래밍(2)

HTTP 프로토콜 전체 동작 2009년 2학기 자바프로그래밍(2)

자바와 서블릿 그리고 JSP 자바와 서블릿 JSP(Java Server Page) 자바(Java) : 썬 마이크로시스템즈 에서 개발한 객체지향 프로그래밍 언어로 간결하고 플랫폼 독립적인 특징으로 PC, 핸드폰, 각종 임베디드 장치에 폭넓게 사용되고 있다. 서블릿(Servlet) : 자바 기반의 웹 프로그래밍 기술로 자바 언어의 모든 기능을 사용할 수 있으며 쓰레드 기반의 빠른 처리 속도를 자랑하나, 프로그램 내에서 화면 코딩을 제어해야 하는 문제로 인해 유지 보수에 많은 문제가 있다. 이러한 문제점을 개선한것이 JSP로 JSP는 내부적으로 서블릿 기술에 기반하고 있다. JSP(Java Server Page) JSP는 서블릿 기반의 서버 스크립트 언어로 오늘날 가장 대표적인 웹 프로그래밍 기술이라 할 수 있다. 서블릿의 장점을 모두 수용하면서 단점을 보완 커스텀태그, JSTL, JSF 등 다양한 응용 기술을 탄생 시켰으며 자바 기술의 정점인 Java EE(Enterprise Edition) 의 프리젠테이션 레이어 핵심 기술이다. 2009년 2학기 자바프로그래밍(2)

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

자바와 서블릿 그리고 JSP JSP 동작원리 일반적인 웹(www) 서비스 동작과정 <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 파일(텍스트) 전송 2009년 2학기 자바프로그래밍(2)

자바와 서블릿 그리고 JSP JSP 동작원리 JSP 동작과정 DB 2009년 2학기 자바프로그래밍(2) <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) 전송 ④ 요청/분석 넘기기 ⑧ 실행 결과 전송 ⑦데이터 전송 ⑥ 서블릿 적재 ⑤ 컴파일 2009년 2학기 자바프로그래밍(2)

자바와 서블릿 그리고 JSP JSP 동작원리 JSP 서블릿 변환 처리 및 데이터 연동 과정 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 이클립스 프로젝트 생성 이클립스를 통한 자바 개발의 기본은 프로젝트 생성으로 출발 프로젝트는 어느 정도 규모가 있는 개발 단위로 자바소스를 만들기 위해 매번 프로젝트를 생성해야 하는 것이 아님 이클립스 실행 후 파일->새로 작성->프로젝트 선택 Web->Dynamic Web Project 선택 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 프로젝트 기본 정보 설정 Project name : 영문으로 작성 권장 프로젝트 컨텐츠 : 기본적으로 프로젝트 이름에 해당하는 디렉토리가 생성됨 Target Runtime : 실행을 위한 톰캣 설정항목 지정(추후 설정함) 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 프로젝트 기본 정보 설정 Web Module : 웹 프로젝트의 기본적인 설정항목 지정 프로젝트 컨텐츠 : 기본적으로 프로젝트 이름에 해당하는 디렉토리가 생성됨 항목 설명 Context Root 웹애플리케이션의 URL 상의 메인 접속 경로를 설정한다. jspbook 이라고 설정할 경우 브라우저를 통한 접속 경로는 http://localhost:8080/jspbook 이 된다. 웹 애플리케이션은 하나의 컨텍스트로 관리되며 동일 컨텍스트 내에서만 세션과 같이 공용정보가 공유되는 특징이 있다. Content Directory 웹애플리케이션 디렉토리 구조에서 jsp, HTML, 그림파일 등 컨텐츠가 위치할 디렉토리를 설정한다. 기본값인 WebContent 폴더를 사용한다. Java Source Directory jsp 와 연동해서 사용할 자바 소스의 위치를 지정하는 곳이다. 프로그램 소스가 웹 컨텐츠와 같이 있을 경우 노출에 대한 위험이 있으므로 보통 별도의 디렉토리에서 관리하거나 WEB-INF/src 폴더를 이용하기도 한다. 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 HelloWorld 프로그램 소스 작성 프로젝트 탐색기의 WebContent 폴더 선택 -> 오른쪽 마우스 클릭 새로 작성 -> 폴더를 선택해 ch03 폴더 생성 생성된 ch03 폴더에서 오른쪽 마우스 -> 새로 작성 -> JSP 선택 파일명은 HelloWorld.jsp(대소문자 구분, 공백 없음) 폴더생성 확인 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 HelloWorld 프로그램 소스 작성 [다음]버튼을 눌러 생성할 템플릿 코드 지정 [완료]버튼을 눌러 기본으로 생성된 코드 확인 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 HelloWorld 프로그램 소스 작성 기본으로 생성된 소스코드에 내용 추가 page 지시어로 현재 JSP 페이지 형식을 지정 한글을 제대로 표현하려면 반드시 넣자 <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <center> HelloWorld : 핼로 JSP <br> 현재 날짜와 시간은 : <%=new java.util.Date() %> </center> </body> </html> <%= %> 는 JSP 문법에서 표현식이라고 함 간단한 브라우저 출력에 사용됨 Date 클래스 인스턴스 생성 내부적으로 toString() 메서드를 통해 현재 날짜및 시간정보가 출력 됨 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 서버 설정 및 실행 JSP를 실행하기 위한 서버 지정 하나의 PC에 여러 서버(톰캣,웹로직 등) 를 둘 수 있음 한번 설정해 두면 다음 실행 때는 서버 설정이 필요 없음 HelloWorld.jsp -> 오른쪽마우스 -> 실행도구 -> Run on Server 서버 설정 화면에서 Apache->Tomcat v5.5 Server 선택 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 서버 설정 및 실행 톰캣 설정 Browse 버튼을 눌러 톰캣 설치 디렉토리를 지정 JRE는 톰캣 실행을 위한 자바 런타임 버전으로 1.5x 버전임을 확인 할 것 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 실행결과 확인 현재 시간과 오늘 날짜 정보 출력됨. F5를 눌러 새로 보기를 하거나 창을 닫고 다시 시작해 보면 새로운 값이 출력됨 <%= new java.util.Date() %> jsp 파일 내 자바 코드 실행의 결과가 출력된 것임 2009년 2학기 자바프로그래밍(2)

HelloWorld 프로그램 제작 생성 파일 확인 JSP가 서블릿으로 변환된다고 했는데, 변환된 소스가 어디에 있을까? HelloWorld_jsp.java 파일을 열어보면 JSP 파일 내용이 서블릿 형태로 변경된 것을 확인 할 수 있다. 2009년 2학기 자바프로그래밍(2)

실습 자료 및 과제 실습 자료 과제 복습하기 2009년 2학기 자바프로그래밍(2)