인터넷과웹서비스 개발환경구성, JSP 기본구조 인터넷과 WWW(World Wide Web) 인터넷은 TCP/IP 기반의네트워크가전세계적으로확대되어하나로연결된 네트워크의네트워크 WWW(World Wide Web) 는인터넷기반의서비스중하나 이름프로토콜포트기능 WWW http 80 웹서비스 524730-1 2019 년봄학기 3/11/2019 박경신 Email SMTP/POP3/IMAP 25/110/114 이메일서비스 FTP ftp 21 파일전송서비스 telnet telnet 23 원격호스트접속서비스 DNS DNS 83 도메인이름변환서비스 News NNTP 119 인터넷뉴스서비스 인터넷과웹서비스 HTTP (Hyper Text Transfer Protocol) Protocol이란네트워크에연결된컴퓨터가서로통신 ( 대화 ) 하기위한규약 HTTP는 www 서비스를위한프로토콜 웹서버와클라이언트는 HTTP를이용해통신 URL (Uniform Resource Locator) URL은웹어플리케이션에요청을구분하기위한용도로사용됨 예 : http://www.google.com/search?hl=en&q=jsp&aq=f&oq= 프로토콜 : http 호스트 : www.google.com 포트 : 80 (http 프로토콜의기본포트 ) 경로 : /search 쿼리문자열 : hl=en&q=jsp&aq=f&oq= 웹프로그래밍기술 HTML과웹프로그래밍기술 HTML(HyperText Markup Language): www 서비스를표현하기위해사용하는언어 HTML은텍스트파일로정적인정보만처리가능 동적인컨텐츠처리하기위해 CGI(Common Gateway Interface), Fast CGI, PHP(Personal Home Page), ASP(Active Server Page), JSP(Java Server Page) 등의기술이사용 클라이언트스크립트 Javascript가대표적. 웹브라우저가스크립트해석의주체 웹브라우저핸들링은가능하지만서버연동은불가능 서버스크립트 ASP.NET, PHP, Servlet, JSP 등. HTML과스크립트언어를함께사용할수있는기술로웹서버에서해석. 데이터베이스연동처리등다양한구현이가능 별도의컴파일과정없이 HTML 태그수정가능
서블릿과 JSP 자바를만든 Sun 에서정한웹개발표준 서블릿 (Servlet): 웹어플리케이션을구현하기위해작성하는실행코드 JSP(Java Server Page): 서블릿기반의서버스크립트기술 JSP 의특징 자바기반스크립트언어 : 자바의기능을그대로사용가능 HTTP 에대한클라이언트의요청처리 / 응답 웹어플리케이션에서결과화면을생성할때주로사용 JSP 를사용하는이유 자바언어에기반하여플랫폼 ( 리눅스, 윈도우등 ) 에독립적 자바언어에대한깊은이해없이도초기학습가능 - 스크립트언어는상대적으로자바언어보다단순 스프링 (Spring) 이나스트러츠 (Struts) 와같은프레임워크와완벽하게연동 웹컨테이너 웹컨테이너 JSP, Servlet 실행환경을제공하며, WAS (Web Application Server) 라고함 웹브라우저의요청에대한응답을웹서버에전달하는기능을제공하며웹응용프로그램의보안, 관리, 라이프사이클관리등의서비스를제공 JSP 웹컨테이너 서블릿 주요웹컨테이너 톰캣 (Tomcat) : http://tomcat.apache.org/ 제티 (Jetty) : http://www.mortbay.org/jetty/ JSP Architecture JSP 동작원리 JSP(Java Server Pages) 웹어플리케이션구조 Web Clients 웹브라우저가웹서버에서비스실행을요청 (request) 함 웹서버는응답 (response) 을웹브라우저에보냄 Web Application Server Web Server Web Client 1 요청 MyPage.jsp 6 응답 HTML 문서 Web Server Web Application Server (WAS) 2JSP Container 호출 MyPage.jsp 3서블릿으로변환 MyPage_jsp.java 4클래스파일생성 MyPage_jsp.class 5 메모리에적재되어실행
JSP Lifecycle JSP 개발환경셋팅 JSP 생명주기 JSP File MyPage.jsp JDK 설치 : 자바개발도구 JSP Page Translation JSP Page Compilation Class Loading Initialization Execution Cleanup Servlet File Servlet Class jspinit() MyPage_jsp.java MyPage_jsp.class 초기화한번 환경변수 JAVA_HOME 설정 웹컨테이너설치 : 톰캣, 제티등 환경변수 CATALINA_HOME 설정 ( 톰캣설치디렉토리 ) IDE 설치 : 이클립스등 elipse-workspace-jsp 이클립스작업디렉토리설정 Request _jspservice() 여러번실행 Response jspdestroy() 소멸처리한번 JDK 설치 JDK 설치 Java SE Development Kit (JDK11.0.2) Download http://www.oracle.com/technetwork/java/javase/downloads/ind ex.html
JDK 설치 경로설정하기 JDK 설치 설치된자바버전확인 자바 API 문서 https://docs.oracle.com/en/java/javase/11/ Tomcat 설치하기 Tomcat9 (apache-tomcat-9.0.16.exe) https://tomcat.apache.org/download-90.cgi 다운로드
Tomcat 설치하기 Tomcat 실행 톰캣설치하기및설치후환경변수설정 톰캣실행하기 자바 IDE 소개와설치 자바 IDE (Integrated Development Environment) 통합개발환경 편집, 컴파일, 디버깅을한번에할수있는통합된개발환경 이클립스 (Eclipse) 자바응용프로그램개발을위한통합개발환경 IBM 에의해개발된오픈소스프로젝트 http://www.eclipse.org/downloads/ 에서다운로드 넷빈즈 (Netbeans) https://netbeans.org/ IntelliJ Idea http://www.jetbrains.com/idea/download/ Eclipse 설치하기 이클립스 IDE 2018-12 (eclipse-inst-win64.exe) https://www.eclipse.org/downloads/ 다운로드
Eclipse 설치하기 이클립스작업디렉토리설정하기 JSP 프로그램작성 이클립스프로젝트생성 File->New->Dynamic Web Project JSP 프로그램작성 클래스에소스코드추가 JSP 프로그램실행 톰캣서버에등록하여실행
JSP 프로그램실행 실행결과확인하기 JSP 프로그램실행 Starting Tomcat v9.0 Server at localhost has encountered a problem 에러가발생시 Double click 톰캣에 JSP 프로젝트배포하기 1. JSP 프로젝트를 war 파일로 Export 2. war 파일을톰캣의웹루트 (webapps) 에복사 3. http://localhost: 포트 / 프로젝트명접속 동적웹프로젝트구조 Dynamic Web Project 디렉토리구조
동적웹프로젝트구조 동적웹프로젝트구조 웹어플리케이션디렉터리이름 컨텍스트경로 컨텍스트경로 URL 예, 컨텍스트경로가 /chap02인경우 URL은 http://host:port/chap02로매핑 톰캣의경우 [ 톰캣 ]\webapps 디렉터리에어플리케이션디렉터리위치 LAB0 HelloJSP 프로그램을작성한다. JDK 설치 IDE 설치 톰캣설치 환경설정 이클립스를사용한 JSP 프로그램작성 프로젝트디렉토리안에보고서 (1~2장) 를넣고 Lab0_ 학번 _ 이름.zip 압축한후제출