Web-DB 13
1... 3 2 Web... 4 2.1 JDBC...4 2.1.1 JDBC...4 2.1.2 Java JDBC...5 2.1.3 DataBase...5 2.1.4...6 2.1.5...6 2.2...6 2.3 Web...10 3... 15 3.1 CHtmlView...15 3.2...16 3.2.1...16 3.2.2...16 3.2.3...17 3.2,4...18 3.3...20 4... 22 4.1 DataBase Web...24 4.1.1 Web...24 4.1.2...25 4.1.3...26 4.2 DataBase Web...27 4.2.1...27 4.2.2...28 5... 30... 31 URL... 31 2
1 1 2002 11 (DSL FTTH CATV) 719 ( ) 2129 3 2.5 Web Amazon DataBase Web Web Web DataBase Web 1 URL[1] 3
2 Web Web Web DataBase 2 DataBase HTML Java Servlet DataBase JDBC(Java DataBase Connectivity) Java Servlet DataBase Web 2.1 JDBC 2 2.1.1 JDBC JDBC Java Java JDBC 2 API(JDBC API JDBC API) JDBC DataBase DataBase JDBC API DataBase DataBase JDBC JDBC API DataBase JDBC 4 (JDBC-ODBC API JDBC Java ) JDBC-ODBC ODBC ODBC API API JDBC Java Java Java PostgreSQL JDBC Java ( ) Java ODBC DataBase JDBC 2 URL [2] 4
native ODBC Java 2.1.2 Java JDBC OS Windows 2000 Server Java Java 2 SDK Standard Edition Version 1.4.0_01 http://java.sun.com/ JDBC JDBC3 http://jdbc.postgresql.org/ [ ] [ ] [ ] [ ] [PATH] java C: j2sdk1.4.0_01 bin (;) [ ] JDBC [CLASSPATH] postgre.jar [CLASSPATH]. 2.1.3 DataBase JDBC API JDBC import import java.sql.*; JDBC DataBase JDBC PostgreSQL JDBC PostgreSQL JDBC Class.forName 1:try { 2: Class.forName( org.postgresql.driver ); 3: // Connect to database 4:} catch (ClassNotFoundException ex) { 5: // 6:} 5
JDBC DataBase JDBC API DriverManager.getConnection Connection conn = DriverManager.getConnection(url, usr, pwd); usr pwd String url String WWW URL DataBase jdbc:postgresql:databasename jdbc:postgresql://hostname/databasename jdbc:postgresql://hostname:port/databasename 3 jdbc:postgresql://localhost:5432/test 2.1.4 Java Web HTML Web 2.1.5 Tomcat 3.3.1 http://jakarta.apache.org/tomcat/ 2.2 5 root DataBase DataBase root 6
customer C_ID ID C_FNAME 20 C_LNAME 20 C_ZIP C_ADDR1 50 1 C_ADDR2 50 2 C_PHONE C_EMAIL 50 item I_ID ID I_TITLE 60 I_M_ID ID I_SUBJECT 10 I_PRICE I_IMAGE 40 URL maker M_ID ID M_NAME 50 M_URL 50 URL orders O_ID ID O_DATE O_C_ID ID 7
order_item OI_ID ID OI_O_ID ID OI_I_ID ID OI_NUM DataBase 5000 500 50 20000 2000 300 60 60 60 2000 200 20 6050 616 62 1 5 8
2.1 customer maker C_ID M_ID C_FNAME M_NAME C_LNAME M_URL C_ZIP C_ADDR1 orders C_ADDR2 O_ID C_PHONE O_DATE C_EMAIL O_C_ID item I_ID I_TITLE I_M_ID I_SUBJECT I_PRICE I_IMAGE order_item OI_ID OI_O_ID OI_I_ID OI_NUM 9
162,080 (4,702 + 157,378) bytes 162,561 (4,748 + 157,813) bytes 2.3 Web DB DB 2.1 Web 10,000 bytes 100,000 bytes 5,244 bytes 22,747 bytes 62,440 (10,000 + 52,440) bytes 464,890 (10,000 + 454,890) bytes 152,440 (100,000 + 52,440) bytes 545,890 (100,000 + 454,890) bytes 4,781 bytes 9,126 bytes 27,401 (1,187 + 26,214) bytes 114,375 (1,087 + 113,288) bytes 684,480 (4,672 + 679,808) bytes 4,782 bytes 86,977 bytes 27,454 (1,121 + 26,333) bytes 114,331 (1,116 + 113,215) bytes 685162 (4,718 + 680,444) bytes 4,782 bytes 865,477 bytes 27272 (1,083 + 26,189) bytes 114,795 (1,078 + 113,717) bytes 162,650 (4,834 + 157,816) bytes 686,128 (4,804 + 681,324) bytes DataBase Web DataBase Web 10
2.4 Web DataBase Web SQL SELECT Web SQL DataBase Web SELECT FROM maker 11
DataBase Web SELECT FROM customer 12
DataBase Web SELECT c_fname, c_lname FROM customer WHERE c_id =? ID? SELECT i_title, i_subject, oi_num, i_price, i_image FROM item, orders, order_item WHERE orders.o_id = order_item.oi_o_id AND order_item.oi_i_id = item.i_id AND orders.o_c_id =? ID? ID ID ID ID URL 13
DataBase Web SELECT m_name, m_url, i_title, i_price, i_image FROM item, maker WHERE maker.m_id = item.i_m_id AND i_subject = 'CPU' LIMIT 30 CPU ID ID URL URL 30 14
3 Web Java Servlet Web JDBC DataBase SQL 3.1 Web DataBase Visual Studio 6.0 Enterprise 3.1 CHtmlView 3 CHtmlView MFC(Microsoft Foundation Class) / Web Browser Web Browser World Wide Web Web Browser Uniform Resource Locator(URL) MFC CHtmlView MFC (SDI 4 MDI 5 ) CView CView CHtmlView Web Browser 15
Web Web [MFC ] CHtmlView Web Browser ActiveX ( CHtmlView) Internet Explorer 4.0 Windows NT version 4.0 CHtmlView Web HTML CHtmlView Internet Explorer Web Browser 3.2 3.2.1 MFC MFC AppWizard(exe) ( WebBrowse ) AppWizard SDI Internet Explorer ReBar CHtmlView 3.2.2 3.2.1 URL IDC_EADDRESS MainFrm.h void OnNewAddress() MainFrm.cpp 1:void CMainFrame::OnNewAddress() 2:{ 3: CString saddress; 16
4: m_wnddlgbar.getdlgitem(idc_eaddress)->getwindowtext(saddress); 5: ((CWebBrowseView*)GetActiveView())->Navigate(sAddress); 6:} 4 GetWindowText saddress 5 GetActiveView CWebBrowseView Navigate URL MainFrm.cpp WebBrowseDoc.h WebBrowseView.h 3.2.3 3.2.1 IDC_STATICTIME1 MainFrm.h double start_time void GetAddress() WebBrowseView.h void OnBeforeNavigate2(LPCTSTR lpszurl, DWORD nflags, LPCTSTR lpsztargetframename, CByteArray& beposteddata, LPCTSTR lpszheaders, BOOL* pbcancel) MFC WebBrowseView.cpp 1:void CWebBrowseView::OnBeforeNavigate2(LPCTSTR lpszurl, DWORD nflags, LPCTSTR lpsztargetframename, CByteArray& beposteddata, LPCTSTR lpszheaders, BOOL* pbcancel) 2:{ 3: ((CMainFrame*)GetParentFrame())->GetAddress(); 4:} 17
3 OnBeforeNavigate2 GetAddress MainFrm.cpp 1:void CMainFrame::GetAddress() 2:{ 3: start_time = GetTickCount(); 4: CString tmp1; 5: tmp1.format( "%.0f", start_time); 6: m_wnddlgbar.getdlgitem(idc_statictime1)->setwindowtext((lpctstr)tmp1); 7:} 3 GetTickCount start_time 6 SetWindowText start_time 3.2,4 3.2.1 IDC_STATICTIME2 IDC_STATICTIME3 MainFrm.h double stop_time void SetAddress() WebBrowseView.h void OnDocumentComplete(LPCTSTR lpszurl) MFC WebBrowseView.cpp 1:void CWebBrowseView::OnDocumentComplete(LPCTSTR lpszurl) 2:{ 3: ((CMainFrame*)GetParentFrame())->SetAddress(lpszUrl); 4:} 18
3 OnDocumentComplete Web URL MainFrm.cpp 1:void CMainFrame::SetAddress(LPCTSTR lpszurl) 2:{ 3: m_wnddlgbar.getdlgitem(idc_eaddress)->setwindowtext(lpszurl); 4: 5: stop_time = GetTickCount(); 6: CString tmp2; 7: tmp2.format( "%.0f", stop_time); 8: m_wnddlgbar.getdlgitem(idc_statictime2)->setwindowtext((lpctstr)tmp2); 9: 10: double dif_time; 11: dif_time = stop_time - start_time; 12: CString tmp3; 13: tmp3.format( "%.0f", dif_time); 14: m_wnddlgbar.getdlgitem(idc_statictime3)->setwindowtext((lpctstr)tmp3); 15:} 5 GetTickCount stop_time 8 SetWindowText stop_time 11 stop_time - start_time dif_time 14 SetWindowText dif_time WebBrowseView.cpp MainFrm.h CHtmlView CHtmlView::Navigate2 URL 19
CHtmlView::OnBeforeNavigate2 Web CHtmlView::OnDocumentComplete READYSTATE_COMPLETE 3.1.1 3.1 3.3 URL Web 20
Web Web Web Web C: Documents and Settings Local Settings Temporary Internet Files 21
4 4.1 Web CPU Pentium3 733MHz Memory 256M LAN Intel 8255x-based PCI Ethernet Adapter (10/100) OS Windows2000 Server DBMS PostgreSQL 7.2.1 native Compiler Java 2 SDK Standard Edition Version 1.4.0_01 Servlet Container Tomcat 3.3.1 CPU Celeron 1.3GHz Memory 512M LAN Sis 900-Based PCI Fast Ethernet Adapter OS Windows XP Web 4.1 22
Web PC 2 Web 50 3.3 Web Web Web Web 23
4.1 DataBase Web DataBase Web 4.1.1 Web 4.1 Web 4.1 Web Web Web Web 1 Web HTML <IMG SRC= URL > URL Web 24
4.1.2 4.2 DataBase Web PC 4.2 PC PC PC PC 25
4.1.3 DataBase Web HTML Java 4.1 4.2 4.1 PC Web ms HTML Java 33 35 94 97 139 147 4.2 Web ms HTML Java 153 155 236 256 434 441 HTML Web Web Java Java Servlet Web HTML Java Web Web Web 26
4.2 DataBase Web DataBase Web DataBase 4.2.1 Web Web DataBase 3 Web DataBase Web DataBase 50 500 5000 4.3 4.4 4.3 Web ms DB PC 58 57 58 159 157 158 4.4 Web ms DB PC 4592 495 84 3576 421 161 Web DataBase 1 Web DataBase 2 500 5000 50 Web 4.5 27
4.5 Web ms DB PC 84 85 58 163 160 161 DataBase Web 4.2.2 Web Web Web SQL 4.6 4.7 4.6 PC Web ms DB 207 98 82 207 87 79 269 218 221 270 212 212 4.7 Web ms DB 774 566 545 739 630 640 425 382 378 531 503 469 Web Web customer item orders order_item 4 Web item maker 2 28
4.8 4.8 DataBase customer 5000 500 50 item 20000 2000 300 orders 200 200 20 order_item 6050 616 62 item 20000 2000 300 maker 60 60 60 Web 6600 6500 Web 6.6 66 DataBase DataBase JOIN SQL Web SQL SELECT i_title, i_subject, oi_num, i_price, i_image FROM (order_item INNER JOIN orders ON order_item.oi_o_id = orders.o_id) INNER JOIN item ON order_item.oi_i_id = item.i_id WHERE orders.o_c_id =? order_item orders item order_item.oi_o_id = orders.o_id order_item.oi_i_id = item.i_id RDBMS 1 1 4.9 4.9 JOIN Web ms PC JOIN 750 774 207 207 619 566 89 98 658 545 76 82 29
5 Web Web Web Web DataBase Web DataBase Web DataBase Web SQL SELECT SQL INSERT DELETE UPDATE SELECT DataBase DataBase DataBase LOB 30
URL [1] http://soumu.go.jp/s-news/2002/021227_1.html [2] 3 PC UNIX PostgreSQL 2001 [3] MSDN Online Japan http://www.microsoft.com/japan/msdn/default.asp 31