một số khái niệm cơ bản của lập trình đa luồng trong Java và cài đặt chương trình ứng dụng minh họa.

77 1.1K 0
một số khái niệm cơ bản của lập trình đa luồng trong Java và cài đặt chương trình ứng dụng minh họa.

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

một số khái niệm cơ bản của lập trình đa luồng trong Java và cài đặt chương trình ứng dụng minh họa.

SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, lời em xin chân thành cảm ơn thầy giáo, cô giáo Khoa Công nghệ thông tin Trường Đại học Dân lập Hải Phòng, người dạy dỗ, trang bị cho em kíến thức bổ ích bốn năm học vừa qua Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Phùng Anh Tuấn, người tận tình hướng dẫn, bảo em suốt thời gian thực tập làm đồ án Nhân dịp em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, người thân cổ vũ, động viên tiếp thêm cho em nghị lực để em hoàn thành đồ án tốt nghiệp Em xin chân thành cảm ơn ! Hải Phòng, ngày 01 tháng 07 năm 2009 Sinh viên Nguyễn Thị Hoàng Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng MỤC LỤC LỜI CẢM ƠN .1 MỤC LỤC .2 LỜI MỞ ĐẦU .4 CHƯƠNG 1: CĂN BẢN VỀ MẠNG MÁY TÍNH 1.1 Định nghĩa mạng máy tính .6 1.2 Nhu cầu phát triển mạng máy tính 1.3 Phân loại mạng máy tính 1.4 Một số topo mạng thông dụng .8 1.5 Giao thức mạng 1.5.1 Giao thức TCP/IP 1.5.2 Giao thức UDP 13 1.6 Các mơ hình hoạt động mạng máy tính 14 1.6.1 Mơ hình mạng hoạt động theo dạng peer to peer 14 1.6.2 Mơ hình mạng hoạt động theo dạng clients/ server 14 CHƯƠNG 2: SƠ LƯỢC VỀ NGƠN NGỮ LẬP TRÌNH JAVA .16 2.1 Giới thiệu .16 2.2 Một số tính chất ngơn ngữ Java .16 2.2.1 Đơn giản 16 2.2.2 Hướng đối tượng .17 2.2.3 Độc lập phần cứng hệ điều hành 17 2.2.4 Mạnh mẽ 18 2.2.5 Bảo mật .18 2.2.6 Phân tán .19 2.2.7 Đa luồng 19 2.2.8 Linh động 19 2.3 Các dạng chương trình ứng dụng Java 19 2.3.1 Chương trình ứng dụng dạng độc lập (Application) 19 2.3.2 Chương trình ứng dụng dạng nhúng (Applet) 20 2.3.3 Chương trình ứng dụng dạng lai ghép 21 2.4 Cấu trúc tệp chương trình Java 21 CHƯƠNG : LẬP TRÌNH SOCKET TCP 23 3.1 Định nghĩa 23 3.2 Mơ hình clients/server sử dụng socket chế độ hướng kết nối TCP 25 3.3 Lập trình Socket TCP Java 27 3.3.1 Xây dựng chương trình clients chế độ hướng kết nối 28 3.3.2 Xây dựng chương trình server chế độ hướng kết nối 29 CHƯƠNG 4: LUỒNG TRONG JAVA 31 4.1 Khái niệm luồng 31 4.1.1 Tiếp cận luồng mức người dùng 33 4.1.2 Tiếp cận luồng mức hạt nhân hệ điều hành 34 4.2 Luồng Java 34 4.2.1 Các phương pháp thực luồng 34 4.2.2 Độ ưu tiên luồng 39 4.2.3 Nhóm luồng .40 4.2.4 Đồng hóa luồng thi hành 40 CHƯƠNG : CHƯƠNG TRÌNH ỨNG DỤNG 43 5.1 Giới thiệu .43 Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng 5.2 Mơ hình chung truy nhập sở liệu Web .44 5.3 Chương trình ứng dụng 45 5.3.1 Mơ hình chế hoạt động 45 5.3.2 Thiết kế cài đặt sở liệu thử nghiệm 46 5.3.3 Thiết kế chương trình 48 5.3.4 Một số giao diện 50 5.4 Nhận xét .62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 65 Hướng dẫn tạo tệp sách java.policy .65 Mã nguồn chương trình 71 Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng LỜI MỞ ĐẦU Ngày nay, với phát triển với tốc độ chóng mặt khoa học kỹ thuật, kỷ nguyên mở ra, kỷ nguyên công nghệ thông tin Nhu cầu loài người ngày lớn, đặc biệt ngành khoa học kỹ thuật khác cần đến hổ trợ công nghệ thông tin, công nghệ phần cứng phát triển nhanh, CPU với tốc độ xử lý ngày cao, lại nảy sinh nhiều tốn thực tế sản xuất địi hỏi phải xử lí nhanh Vấn đề xử lý song song ngày nghiên cứu nhiều để giải số toán mà thực tiễn đặt ra, vấn đề cần có kết thời gian thực như: toán dự báo thời tiết, điều tiết giao thông, điều khiển tàu vũ trụ,các tốn mơ phỏng…Vì vậy, việc nghiên cứu giải thuật cho xử lý song song yêu cầu thách thức cho nhà khoa học liên quan đến khoa học máy tính Java đời dự đốn trước xảy giới công nghệ máy tính, hỗ trợ cho việc xử lý song song với chế đa luồng Nhưng lĩnh vực giáo dục lượng tài liệu nói lập trình đa luồng nói chung lập trình đa luồng Java cịn tương đối trình bầy chưa sâu, ví dụ minh họa cho chế lập trình nói Nội dung đồ án tốt nghiệp cố gắng làm rõ số khái niệm lập trình đa luồng Java cài đặt chương trình ứng dụng minh họa Nội dung đồ án tốt nghiệp trình bầy chương Chương trình bầy kiến thức mạng máy tính: định nghĩa, phân loại, loại giao thức mạng, mơ hình hoạt động mạng máy tính,…để ta tiếp cận với chương Chương giới thiệu Java, tính chất, dạng chương trình ứng dụng Java, cấu trúc tệp chương trình Java Chương trình bầy lập trình Socket TCP lập trình Socket TCP Java Chương giới thiệu khái niệm luồng, cách tiếp cận luồng, từ sâu vào vấn đề liên quan đến luồng Java: phương pháp thực hiện, độ ưu tiên, nhóm luồng, đồng hóa luồng thi hành Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng Chương trình bầy chi tiết ứng dụng truy nhập sở liệu web dựa việc tìm hiểu lý thuyết lập trình đa luồng Java Tiếp theo phần kết luận, cuối tài liệu tham khảo phụ lục Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng CHƯƠNG 1: CĂN BẢN VỀ MẠNG MÁY TÍNH 1.1 Định nghĩa mạng máy tính Mạng máy tính tập hợp máy tính nối với đường truyền theo cấu trúc thơng qua máy tính trao đổi thơng tin qua lại cho Đường truyền hệ thống thiết bị truyền dẫn có dây hay khơng dây dùng để chuyển tín hiệu điện tử từ máy tính đến máy tính khác Các tín hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân (on - off) Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ Tùy theo tần số sóng điện từ dùng đường truyền vật lý khác để truyền tín hiệu Ở đường truyền kết nối dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vơ tuyến, Các đường truyền liệu tạo nên cấu trúc mạng Hai khái niệm đường truyền cấu trúc đặc trưng mạng máy tính Hình 1.1 Một mơ hình máy tính liên kết mạng Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng 1.2 Nhu cầu phát triển mạng máy tính Ngày nay, máy tính sử dụng cách rộng rãi số lượng máy tính văn phịng hay quan tăng lên nhanh chóng việc kết nối chúng trở nên vô cần thiết mang lại nhiều hiệu cho người sử dụng Với lượng lớn thông tin, nhu cầu xử lý thông tin ngày cao, mạng máy tính trở nên quen thuộc lĩnh vực như: thương mại, dịch vụ, giáo dục, khoa học, quân sự, quốc phòng, Người ta thấy việc kết nối máy tính thành mạng cho khả to lớn như: - Sử dụng chung tài nguyên: tài nguyên (như thiết bị, chương trình, liệu) trở thành tài nguyên chung thành viên mạng tiếp cận mà không cần quan tâm tới tài nguyên đâu - Tăng độ tin cậy hệ thống: người ta dễ dàng bảo trì máy móc, lưu trữ (backup) liệu chung có trục trặc hệ thống chúng khơi phục nhanh chóng Trong trường hợp có trục trặc trạm làm việc người ta sử dụng trạm khác thay - Nâng cao chất lượng hiệu khai thác thơng tin: thơng tin sử dụng chung mang lại cho người sử dụng khả tổ chức lại công việc với thay đổi chất như: + Ðáp ứng nhu cầu hệ thống ứng dụng kinh doanh đại + Cung cấp thống liệu + Tăng cường lực xử lý nhờ kết hợp phận phân tán + Tăng cường truy nhập tới dịch vụ mạng khác cung cấp giới Với nhu cầu đòi hỏi ngày cao xã hội nên vấn đề kỹ thuật mạng mối quan tâm hàng đầu nhà tin học Ví dụ như: làm để truy xuất thơng tin cách nhanh chóng tối ưu, việc xử lý thông tin mạng q nhiều, đơi làm tắc nghẽn gây thông tin cách đáng tiếc Hiện nay, việc có hệ thống mạng chạy thật tốt, thật an tồn với lợi ích kinh tế cao quan tâm Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng 1.3 Phân loại mạng máy tính Do mạng máy tính phát triển khắp nơi với ứng dụng ngày đa dạng việc phân loại mạng máy tính việc phức tạp Dựa theo phạm vi phân bố mạng ta phân loại mạng sau: - GAN (Globa Area Network): kết nối máy tính châu lục với thơng qua mạng viễn thông vệ tinh - WAN (Wide Area NetWork): kết nối máy tính nội quốc gia hay quốc gia châu lục; việc thực kết nối thông qua mạng viễn thông - MAN (Metropolitan Area Network): kết nối máy tính phạm vi thành phố Kết nối thực thông qua môi trường truyền thông tốc độ cao (50-100 Mbps) - LAN (Local Area Network): mạng cục kết nối máy tính khu vực bán kính hẹp (thơng thường khoảng vài trăm mét) Kết nối thực môi trường truyền thông tốc độ cao LAN thường sử dụng quan hay tổ chức, mạng LAN sử dụng phổ biến 1.4 Một số topo mạng thông dụng Theo định nghĩa mạng máy tính, máy tính nối với đường truyền vật lý theo kiến trúc đó, kiến trúc gọi Topology Thơng thường mạng có ba loại kiến trúc, là: mạng hình (Star Topology), mạng dạng tuyến (Bus Topology), mạng dạng vòng (Ring Topology) - Ring Topology: Mạng bố trí vịng trịn, đường dây cáp thiết kế làm thành vịng khép kín, tín hiệu chạy theo chiều Các nút truyền tín hiệu cho thời điểm nút mà thơi Mạng dạng vịng có thuận lợi nới rộng xa đường dây phải khép kín, bị ngắt nơi tồn hệ thống bị ngưng Hình 1.2 Ring Topology Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phòng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng - Bus Topology: Ở dạng Bus tất nút phân chia đường truyền (bus) Đường truyền giới hạn hai đầu loại đầu nối đặc biệt gọi Terminator Khi nút truyền liệu, tín hiệu quảng bá hai chiều bus, nút lại nhận tín hiệu trực tiếp Loại mạng dùng dây cáp ít, dễ lắp đặt Tuy có bất lợi, có ùn tắc giao thông di chuyển với lưu lượng lớn có hỏng hóc đoạn khó phát hiện, nút ngừng hoạt động ảnh hưởng tới tồn hệ thống Hình 1.3 Bus Topology Hình 1.4 Star Topology - Star Topology: Mạng hình bao gồm tập trung nút thơng tin Các nút thơng tin trạm cuối, máy tính hay thiết bị khác mạng Mạng hoạt động theo nguyên lý nối song song nên có nút bị hỏng, mạng hoạt động bình thường Mạng mở rộng thu hẹp tùy theo yêu cầu người sử dụng, nhiên mở rộng phụ thuộc vào khả trung tâm 1.5 Giao thức mạng Giao thức mạng tập quy tắc, quy ước để trao đổi thơng tin hai hệ thống máy tính hai thiết bị máy tính với Nói cách hình thức giao thức mạng ngơn ngữ máy tính mạng sử dụng để trao đổi liệu với Có nhiều loại giao thức sử dụng mạng máy tính như: Apple Talk, DLC, NetBEUI,… giao thức sử dụng phổ biến mạng máy tính giao thức TCP/IP 1.5.1 Giao thức TCP/IP Giao thức TCP/IP phát triển từ mạng ARPANET Internet dùng giao thức mạng vận chuyển mạng Internet TCP (Transmission Control Protocol) giao thức thuộc tầng vận chuyển IP (Internet Prorocol) giao thức Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng thuộc tầng mạng mô hình OSI Họ giao thức TCP/IP giao thức sử dụng rộng rãi để liên kết máy tính mạng Hiện máy tính hầu hết mạng sử dụng giao thức TCP/IP để liên kết với thông qua nhiều hệ thống mạng với kỹ thuật khác Giao thức TCP/IP thực chất họ giao thức cho phép hệ thống mạng làm việc với thông qua việc cung cấp phương tiện truyền thông liên mạng Giao thức IP Nhiệm vụ giao thức IP cung cấp khả kết nối mạng thành liên kết mạng để truyền liệu, vai trò IP vai trò giao thức tầng mạng mơ hình OSI Giao thức IP giao thức kiểu khơng hướng kết nối (connectionless), có nghĩa khơng cần có giai đoạn thiết lập liên kết trước truyền liệu Để định danh trạm (host) liên mạng người ta sử dụng địa IP có độ dài 32 bits Mỗi giao diện máy có hỗ trợ giao thức IP gán địa IP (một máy tính gắn với nhiều mạng có nhiều địa IP) Địa IP gồm phần: bit định danh lớp mạng, địa mạng (netID) địa máy (hostID) Mỗi địa IP phân thành vùng (mỗi vùng byte), biểu thị dạng thập phân, bát phân, thập lục phân hay nhị phân Cách viết phổ biến dùng ký pháp thập phân có dấu chấm (dotted decimal notation) để tách vùng Mục đích địa IP để định danh cho máy tính liên mạng Do tổ chức độ lớn mạng (subnet) liên mạng khác nhau, người ta chia địa IP thành lớp, ký hiệu A, B, C, D, E Trong lớp A, B, C chứa địa gán Lớp D dành riêng cho lớp kỹ thuật multicasting Lớp E dành cho ứng dụng tương lai Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phòng 10 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng KẾT LUẬN Lập trình đa luồng phương pháp tốt để xây dựng chương trình xử lý song song chạy máy tính chip đơn Đề tài "Tìm hiểu lập trình đa luồng Java ứng dụng" đạt thành công định Về sở lý thuyết, đồ án trình bầy nội dung mạng máy tính, sơ lược ngơn ngữ Java, lập trình Socket TCP nói chung lập trình Socket TCP Java nói riêng; nội dung liên quan đến luồng lập trình đa luồng Java Về ứng dụng đồ án giới thiệu, đưa mơ hình chương trình, chế hoạt động cài đặt thành công chương trình truy nhập sở liệu Web Bên cạnh đồ án phân tích chi tiết cách thiết kế, cài đặt chương trình cho độc giả quan tâm tiến hành làm thực nghiệm dễ dàng Java ngơn ngữ mạnh mẽ, tính bảo mật cao độc lập với nền, chương trình ứng dụng đồ án dễ dàng chạy hệ thống khác mà lập trình lại Tuy nhiên, với thời gian trình độ nhiều hạn chế nên đồ án số vấn đề chưa kịp giải chưa hiển thị font tiếng Việt form, chưa có ví dụ minh họa cho lý thuyết nhóm luồng đồng hóa luồng, sở liệu chưa đủ lớn Trong tương lai em tiếp tục tìm hiểu, khắc phục hạn chế, mở rộng hoàn thiện chương trình Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phòng 63 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Lập trình hướng đối tượng với Java TS Đồn Văn Ban - Viện Công nghệ thông tin [2] Giáo trình lập trình truyền thơng Biên soạn: Ngơ Bá Hùng, Nguyễn Công Huy - Đại học Cần Thơ [3] Mạng thơng tin máy tính- Kiến trúc, ngun tắc hiệu suất hoạt động Vũ Duy Lợi - Nhà xuất Đại học Quốc gia Hà Nội [4] Đề cương giảng Java sở Đại học sư phạm kỹ thuật Hưng Yên [5] JAVA lập trình mạng Nguyễn Phương Lan Hoàng Đức Hải - NXB Giáo Dục [6] Học nhanh kỹ thuật lập trình Java Nguyễn Viết Linh, Đậu Quang Tuấn - Xí nghiệp in Bến Tre Tài liệu tiếng Anh [1] Java Network Programming Elliotte Rusty Harold [2] Programming the Internet with Java Darrel Ince & Adam Freemat, Addison-Wesley [3] Thinking in JAVA Bruce Eckel Các tài liệu khác [1] www.javabeginner.com [2] www.javavietnam.org [3] www.java.sun.com [4] www.vi.wikipedia.org Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng 64 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng PHỤ LỤC Hướng dẫn tạo tệp sách java.policy 1.1 Khởi động cơng cụ tạo tệp sách - Bấm đơi nút chuột trái tệp PolicyTool.exe thư mục BIN trình biên dịch JDK Nhận thơng báo sau hình - Đây lỗi chưa có tệp sách ( bắt buộc phải đặt tên java.policy) Chọn OK để đóng cửa sổ thơng báo lỗi trở lại cửa sổ tạo file sách hình 1.2 Tạo file sách - Mở menu file→Save As Xuất khung đối thoại Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng 65 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng - Chọn thư mục chứa file sách theo yêu cầu Java Tên file bắt buộc phải gõ (.java.policy) Chọn nút lệnh Save để ghi file lên đĩa Xuất thông báo - Chọn OK để tiếp tục, lúc file rỗng chưa có thơng tin Cửa sổ Policy Tool có dạng hình Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phòng 66 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng 1.3 Cấp quyền sử dụng Java Socket - Bấm chuột trái nút lệnh Add Policy Entry Xuất khung đối thoại sau - Bấm đơn nút chuột trái nút lệnh Add Permission Xuất khung đối thoại Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng 67 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng - Trong lựa chọn Permission chọn hình - Trong hộp value lựa chọn Target Name gõ vào giá trị hình - Trong hộp value lựa chọn Actions chọn hình - Chọn OK kết thúc quay trở lại khung đối thoại hình Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phòng 68 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng - Chọn nút lệnh Done kết thúc quy lại khung đối thoại sau Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phòng 69 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng 1.4 Thoát Mở menu file→ Save để ghi nội dung file sách lên đĩa sau mở menu file→Exit để Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng 70 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng Mã nguồn chương trình Mơ đun phía Server: File SocketServer.java //============ import java.net.* ; import java.io.* ; import java.sql.* ; public class SocketServer { static int PORT = 8080 ; // cong mac dinh // public static void main(String[] arg) { try { // Tao socket cho server ServerSocket ss = new ServerSocket(PORT); System.out.println("Server lang nghe tren port:" + ss.getLocalPort()); while(true) { try { // lang nghe cac yeu cau ket noi tu Client Socket s = ss.accept(); RequestProcessing rp = new RequestProcessing(s); rp.start(); // khoi dong phan xu ly cho client hien tai } catch(IOException e) { System.out.println("Connection Error : "+e); } } } catch(IOException e) { System.out.println("Create Socket Error : "+e); } } } Sinh viên: Nguyễn Thị Hồng - Khoa CNTT - ĐHDL Hải Phịng 71 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng //==================================== class RequestProcessing extends Thread { Socket client ; // Socket tra loi cho client static String _driver ="com.microsoft.jdbc.sqlserver.SQLServerDriver"; static String _url = "jdbc:microsoft:sqlserver://10.5.101.30:1433;DatabaseName=QLSV_H"; static Connection ; // doi tuong ket noi static Statement stmt ; // dai dien cac cau lenh cua SQL static ResultSet r ; // doi tuong chua ket qua truy van // -public RequestProcessing(Socket s) { client = s; } // -public void run() { String xau; try { // Nap driver Class.forName(_driver) ; =DriverManager.getConnection(_url,"vidu","123") ; // thiet lap doi tuong ket noi } catch(java.lang.ClassNotFoundException e) { System.out.println("Khong Tim Thay Lop Driver") ; System.exit(1) ; } catch(java.sql.SQLException e) { System.out.println("Khong Mo Duoc Ket Noi Toi CSDL") ; System.exit(1) ; } try { // inStream: doi tuong nhan thong diep Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phịng 72 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng BufferedReader inStream = new BufferedReader( new InputStreamReader(client.getInputStream())) ; // Tao Ra Doi Tuong Viet Du Lieu Len socket_server PrintWriter outStream = new PrintWriter( new BufferedWriter( new OutputStreamWriter(client.getOutputStream())),true) ; boolean finished = false ; { String inLine = inStream.readLine() ; //chuoi nhan tu clients System.out.println("Received : "+inLine) ; if(inLine.equalsIgnoreCase("END")) finished = true ; try { stmt = con.createStatement() ; if(inLine.equals("*")) //in tat ca ban ghi nhan ve '*' { xau="Select a.masv,a.hoten,a.gioitinh,a.lop,b.tenmon,b.dvht,c.diemthi,c.lanthi From tbl_sinhvien as a,tbl_monhoc as b,tbl_diemthi as c where a.masv=c.masv and b.mamon=c.mamon"; r = stmt.executeQuery(xau) ; // thuc hien truy van } else // in ban ghi theo masv nhan duoc tu client xau="Select a.masv,a.hoten,a.gioitinh,a.lop,b.tenmon,b.dvht,c.diemthi,c.lanthi From tbl_sinhvien as a,tbl_monhoc as b,tbl_diemthi as c where a.masv=c.masv and b.mamon=c.mamon and a.masv='"+inLine+"'"; r = stmt.executeQuery(xau); // thuc hien truy van tren ResultSetMetaData mrs= r.getMetaData(); // cung cap thong tin cau truc cua CSDL Sinh viên: Nguyễn Thị Hoàng - Khoa CNTT - ĐHDL Hải Phòng 73 SinhVienIT.Net-Đồ án tốt nghiệp 2009 Tìm hiểu lập trình đa luồng Java ứng dụng int socot=mrs.getColumnCount(); // xac dinh so cot cua mrs String outLine ="" ; for(int j=1;j

Ngày đăng: 30/04/2014, 11:36

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • MỤC LỤC

  • LỜI MỞ ĐẦU

  • CHƯƠNG 1: CĂN BẢN VỀ MẠNG MÁY TÍNH

  • 1.1. Định nghĩa mạng máy tính

  • 1.2. Nhu cầu phát triển mạng máy tính

  • 1.3. Phân loại mạng máy tính

  • 1.4. Một số topo mạng thông dụng

  • 1.5. Giao thức mạng

  • 1.5.1. Giao thức TCP/IP

  • 1.5.2 Giao thức UDP

  • 1.6. Các mô hình hoạt động của mạng máy tính

  • 1.6.1. Mô hình mạng hoạt động theo dạng peer to peer

  • 1.6.2. Mô hình mạng hoạt động theo dạng clients/ server

  • CHƯƠNG 2: SƠ LƯỢC VỀ NGÔN NGỮ LẬP TRÌNH JAVA

  • 2.1. Giới thiệu

  • 2.2. Một số tính chất của ngôn ngữ Java

  • 2.2.1. Đơn giản

  • 2.2.2. Hướng đối tượng

Tài liệu cùng người dùng

Tài liệu liên quan