웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

Similar documents
쉽게 풀어쓴 C 프로그래밊

JDBC 소개및설치 Database Laboratory

Chap12

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

10.ppt

10-Java Applet

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

FileMaker ODBC and JDBC Guide

PowerPoint Presentation

Network Programming

FileMaker 15 ODBC 및 JDBC 설명서

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

J2EE Concepts

PowerPoint Presentation

준비사항 } 실습조건 } MS-SQL Server 에연결가능한컴퓨터 } 실습용서버혹은별도의 MS-SQL 서버 } Northwind 데이터베이스 } MS-SQL 2000 에제공되는예제데이터베이스 } MS-SQL 2008 에는 Northwind 가기본으로제공되지않기때문에실

- 다음은 Statement 객체를사용해서삽입 (insert) 작업의예 String sql = "insert into member(code, name, id, pwd, age) values ("; int id = 10; sql = sql + id +, ;// 항목사이에

gnu-lee-oop-kor-lec06-3-chap7

Microsoft PowerPoint - 10Àå.ppt

FileMaker ODBC and JDBC Guide

Microsoft PowerPoint - 14주차 강의자료

FileMaker ODBC 및 JDBC 가이드

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

gnu-lee-oop-kor-lec10-1-chap10

Spring Boot/JDBC JdbcTemplate/CRUD 예제

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - Java7.pptx

JMF3_심빈구.PDF

PowerPoint Template

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Windows 8에서 BioStar 1 설치하기

JAVA PROGRAMMING 실습 08.다형성

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Ç¥Áö

歯JavaExceptionHandling.PDF

rmi_박준용_final.PDF

PowerPoint Presentation

PowerPoint Template

PowerPoint 프레젠테이션

MasoJava4_Dongbin.PDF

JAVA PROGRAMMING 실습 09. 예외처리

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

No Slide Title

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

제11장 프로세스와 쓰레드

신림프로그래머_클린코드.key

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

어댑터뷰

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PowerPoint 프레젠테이션

Design Issues

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - 06-Chapter09-Event.ppt

PowerPoint Presentation

DBMS & SQL Server Installation Database Laboratory

PowerPoint 프레젠테이션

IBM blue-and-white template

(Microsoft PowerPoint - LZVNQBAJWGTC.ppt [\310\243\310\257 \270\360\265\345])

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

PowerPoint Presentation

C++ Programming

JUNIT 실습및발표

Java Programing Environment

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

PowerPoint Presentation

[Brochure] KOR_TunA

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

09-interface.key

11장.key

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Spring Data JPA Many To Many 양방향 관계 예제

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PowerPoint 프레젠테이션

10장.key

Microsoft PowerPoint - RMI.ppt

Analyze Connection Failover Options.ppt

자바로

14-Servlet

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

오버라이딩 (Overriding)

PowerPoint Presentation

TTA Journal No.157_서체변경.indd

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

게시판 스팸 실시간 차단 시스템

02 C h a p t e r Java

The Pocket Guide to TCP/IP Sockets: C Version

Spring Boot

Transcription:

DB 와 WEB 연동 (1) [2-Tier] Java Applet 이용

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

JAVA Applet 을이용한 Client Server 연동기법 } Applet 에서 JDBC 프로그램을하는방법 } 직접 Applet Code 에 JDBC API 를사용하는방법 (2 Tier) } Applet 은단지 Middleware Server( 주로 JAVA 를이용 ) 와통신하여질의를전달하고, JDBC API 는 Middleware Server 측에서동작하여데이터베이스에접근하는방법 (3 Tier) } 이번시간에는 JAVA Applet 을이용한 2-Tier 프로그램을실습한다. 3

JDBC Driver 종류 } 이전에배웠던 JDBC Driver 의종류를간단히살펴보자 Type Description 1 JDBC-ODBC 브릿지 ODBC 를불러주는역할 (sun.jdbc.odbc 드라이버패키지 ) 2 Native-API 1 번타입과비슷한유형. 클라이언트에서드라이버를사용하기위하여소프트웨어를설치해야한다. 3 네트워크연결드라이버 JDBC 메소드호출을 DBMS 에서독립적인네트워크프로토콜로바꾸어주는드라이버. 4 DBMS 프로토콜을사용하는드라이버가장많이쓰이는드라이버로 DBMS 의기능을직접호출한다. 4

JDBC Driver 선택및위치 } Web 기반의데이터베이스연동을위해서는 네트워크연결드라이버 이상의 JDBC 드라이버를사용한다. } JDBC 드라이버의위치 Ø Client 에 JDBC 드라이버를두고클래스패스를설정한다. Ø 서버에서애플릿클래스가위치해있는디렉토리에 JDBC 드라이버를적재한다. 5

데이터베이스연동실습 } 각자의데이터베이스에다음과같은구조의 customer 테이블을생성하세요. name age sex Janet 26 f jein 21 f jerry 20 m jim 24 m tom 30 m 6

Applet Program } 프로그램을실행하기위해서는다음조건이준비되어야한다. 1. JDBC 드라이버의 CLASSPATH 설정 2. 접속하는 Database 서버에자바 class 파일과 JDBC 드라이버가위치해있어야한다. [HTML CODE] <BODY> <APPLET CODE = Tsearch" ARCHIVE= Merila.jar" CODEBASEhttp://dblab.hallym.ac.kr/jdbc" WIDTH =500 HEIGHT=300> </APPLET> </BODY> CODBASE à 접속하는웹서버의디렉토리로 class 파일과드라이버가위치한곳을가리킨다. [ 로컬데이터베이스에서작동할때는작성할필요가없다.] ARCHIVE à 브라우저에드라이버를적재한다. 7

실습 1. 전체검색 8

실습 2. 이름으로검색 9

실습 3. 나이검색 10

실습 4. 성별검색 11

Interface 와 url, user, password import java.awt.*; import java.awt.event.*; import java.applet.*; import java.sql.*; public class AppletTest extends Applet implements ActionListener { Choice search; // 선택박스선언 Label label; // 라벨선언 TextField textfield; // 값을입력받을텍스트필드선언 TextArea Area; // 결과값을출력할텍스트에리어선언 Button button; // 검색버튼선언 private String url = "jdbc:inetdae7://210.115.229.77:2433"; private String user = id"; private String pass = password"; 12

JDBC 드라이버로딩 public void init() { try { Class.forName("com.inet.tds.TdsDriver"); } catch (ClassNotFoundException e) { System.out.println("Class Loading Failed"); } } 13

Interface 설정 public void start() { setlayout(new FlowLayout()); label = new Label(" 검색조건 "); add(label); search = new Choice(); search.add(" 전체 "); search.add(" 이름 "); search.add(" 나이 "); search.add(" 성별 "); add(search); textfield = new TextField(10); add(textfield); button = new Button("search"); add(button); Area = new TextArea(10,50); add(area); button.addactionlistener(this); } 14 // 레이아웃배치자

Action event handle public void actionperformed(actionevent ae) { Connection con = null; Statement stmt = null; String st = ae.getactioncommand(); // 검색버튼의 string 값을전달받음 String item = search.getselecteditem(); // 선택박스에서선택된값을전달받음 } if(st.equals("search")) { String n = textfield.gettext(); if(item.equals(" 전체 ")) // 선택박스에서 전체 가선택됐을경우 { TotalgetDBSearch(); // 전체검색메소드를호출 } } 15

전체검색메소드 private void TotalgetDBSearch() { Connection con = null; Statement stmt = null; try { con = DriverManager.getConnection(url,user,pass); con.setcatalog( DBNAME"); stmt = con.createstatement(); ResultSet result = stmt.executequery(" 삽입쿼리문 "); // 여기부터아래세번째까지는검색버튼이클릭될때마다결과창에새로운검색결과를보여주기위하여이전에검색한결과를지우기위한작업이다. String count = Area.getText(); int c = count.length(); Area.replaceText(" ",0,c); 16

결과출력 while(result.next()) { String Name = result.getstring(1); String age = Integer.toString(result.getInt(2)); String sex = result.getstring(3); String value = " 이름 : " +Name+ " 나이 : " +age+ " 성별 : +sex+ "\n" ; int index = Area.getText().length(); Area.insertText(value,index); // 결과창에결과값추가 } con.close(); stmt.close(); }catch(exception ee) {System.out.println(ee);} } // try-end } // end 17

이름검색의질의처리 private void NamegetDBSearch(String n) // 이름검색 // 사용자가입력한이름을값으로받는다. { Connection con = null; Statement stmt = null; try { con = DriverManager.getConnection(url,user,pass); con.setcatalog("testing"); stmt = con.createstatement(); } ResultSet result = stmt.executequery(" 삽입쿼리문 "); 18

삽입메소드 private void Insert(String name, int age, String sex) try { Connection con; Statement stmt; // Connection 객체를사용하여 DB 에연결을설정 con = DriverManager.getConnection(url,user,pass); con.setcatalog( DBNAME"); // 질의문을작성하기위하여 Statement 객체를생성 stmt = con.createstatement(); // 생성된테이블에값을삽입 stmt.executeupdate( 삽입쿼리문 ) // Statement,Connection 객체를닫음 stmt.close(); con.close(); }catch(sqlexception se){ System.err.println(se.getMessage()); }

데이터삭제

삭제결과확인

삭제메소드 void customer_delete(string r) { try{ Connection con; Statement stmt; con = DriverManager.getConnection(url,user,pass); con.setcatalog( DBNAME"); // 연결된 DB 에서질의문을작성하기위하여 Statement 객체를생성 stmt = con.createstatement(); stmt.executeupdate("delete from customer where name = ' "+r+" ' "); stmt.close(); con.close(); }catch(sqlexception se){ System.err.println(se.getMessage()); } }

데이터갱신

갱신결과확인

레포트 } 갱신 을실행할경우나이가 1 년씩증가하는메소드를작성후실행코드와실행결과를캡쳐하시오. } 실습및과제를캡쳐후한글, word 파일에캡쳐부분에대한설명과 SQL 구문에자세한주석을넣어서제출하시기바랍니다. ( 돌아가는원리에초점을맞춘주석 )

레포트 } 파일형식 : [ 분반 ]_ 이름 _ 학번 _7 } 한글 / 워드에캡쳐파일 } 제출형식어길시감점처리 } 제출 : dbcyy1@gmail.com로제출 } 제출기간 : 11월05일목요일 23시59분까지 26