Thiết kế web site môn lập trình mạng

Tìm hiểu về kỹ thuật lập trình JSP với cơ sở dữ liệu SQL Server và triển khai ứng dụng JSP trên Web Site .Nhằm đáp ứng nhu cầu học môn Lập Trình Mạng qua mạng của sinh viên, học sinh và một số thành viên khác . Đề tài được giới hạn trong 4 chương đầu tiên của môn Lập Trình Mạng phần cơ sở.

Chương 1: Client Side Networking.

Chương 2: Server Side Networking

Chương 3: UDP

Chương 4: URL

 

doc70 trang | Chia sẻ: luyenbuizn | Lượt xem: 1016 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Thiết kế web site môn lập trình mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHAÀN A : PHAÂN TÍCH THIEÁT KEÁ VAØ THÖÏC THI ÑEÀ TAØI CHÖÔNG I : PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG PHAÂN TÍCH YEÂU CAÀU ÑEÀ TAØI : Phaïm vi ñeà taøi: Tìm hieåu veà kyõ thuaät laäp trình JSP vôùi cô sôû döõ lieäu SQL Server vaø trieån khai öùng duïng JSP treân Web Site .Nhaèm ñaùp öùng nhu caàu hoïc moân Laäp Trình Maïng qua maïng cuûa sinh vieân, hoïc sinh vaø moät soá thaønh vieân khaùc . Ñeà taøi ñöôïc giôùi haïn trong 4 chöông ñaàu tieân cuûa moân Laäp Trình Maïng phaàn cô sôû. Chöông 1: Client Side Networking. Chöông 2: Server Side Networking Chöông 3: UDP Chöông 4: URL Yeâu caàu ñeà taøi: Website cung caáp ñaày ñuû caùc thoâng tin veà: Hoïc vieân,Giaùo vieân , Noäi dung chöông trình hoïc , Ñeà thi phuïc vuï cho vieäc hoïc qua maïng . Heä thoáng Website yeâu caàu trieån khai ñöôïc treân heä ñieàu haønh Windows 2k , heä quaûn trò cô sôû döõ lieäu MicroSoft SQL Server 2000. Quaûn lyù: Hoïc vieân ñaêng kyù hoïc Chöông trình hoïc Ngaân haøng caâu hoûi vaø ñeà thi Giaùo vieân ra ñeà thi Quaûn trò heä thoáng Coâng ngheä söû duïng: Heä thoáng söû duïng heä ñieàu haønh Windows 2000 server Söû duïng SQL Server thieát keá cô sôû döõ lieäu vaø Rational Rose minh hoaï chöùc naêng heä thoáng Laäp trình web vôùi Servlet / JSP Vôùi caùc chöông trình hoå trôï : JDK1.3, Dreamweaver MX Web Server Tomcat, J2EE. PHAÂN TÍCH HOAÏT ÑOÄNG WEB SITE: Giao dieän vôùi ngöôøi söû duïng : Khi ngöôøi söû duïng vaøo trang Web neáu hoï muoán hoïc thì phaûi ñaêng kyù hoïc chöông trình hoïc vaø töø baây giôø trôû ñi thoâng tin cuûa hoï ñaõ ñöôïc löu tröõ vaø hoï trôû thaønh hoïc vieân chính thöùc cuûa Web Site. Chöông trình hoïc bao goàm 4 chöông : Chöông 1 : Client Side Networking Chöông 2 : Server Side Networking Chöông 3 : UDP Chöông 4 : URL Vaøo cuoái moãi chöông hoïc vieân phaûi traûi qua moät baøi kieåm tra kieán thöùc cuûa chöông ñoù. Neáu ñaït ñieåm >=5 hoïc vieân môùi ñöôïc hoïc tieáp chöông tieáp theo. Neáu chöa ñaït hoïc vieân coù theå kieåm tra laàn 2, neáu soá laàn khoâng ñaït maø quaù 3 laàn thì buoäc hoïc vieân ñoù phaûi hoïc laïi chöông ñoù ñeå laáy laïi kieán thöùc ñeå thi toát hôn. Ñieåm thi cuûa hoïc vieân seõ ñöôïc löu laïi ñeå hoï coù theå xem vaøo baát kyø luùc naøo khi hoï vaøo Web Site. Khi hoïc vieân ñaõ hoïc xong 4 chöông vaø ñieåm kieåm tra cuûa hoï ñaõ ñaït thì hoï seõ coù kyø thi cuoái khoaù hoïc thoâng qua boä ñeà thi maø giaùo vieân ñöa ra töø ngaân haøng caâu hoûi. Neáu ñieåm thi cuoái khoùa ñaït thì hoïc vieân ñaõ hoaøn thaønh khoaù hoïc vaø hoï coù theå tin töôûng raèng hoï coù theâm moät ít kieán thöùc veà moân Laäp Trình Maïng naøy. Quaûn trò heä thoáng : Vôùi heä thoáng ta phaân thaønh 3 caáp quyeàn , öùng vôùi moãi quyeàn thì user ñoù coù chöùc naêng rieâng töông öùng quyeàn cuûa hoï : Vôùi hoïc vieân hoïc coù quyeàn : hoïc , thi, xem ñieåm, caäp nhaät thoâng tin Vôùi giaùo vieân quyeàn cuûa hoï laø : caäp nhaät caâu hoûi vaøo ngaân haøng caâu hoûi vaø caäp nhaät ñeà thi môùi vaøo heä thoáng, ñoàng thôøi hoï cuõng coù quyeàn hoïc nhö moät hoïc vieân. Coøn Admin laø ngöôøi coù quyeàn cao nhaát trong heä thoáng neân hoï coù quyeàn : caáp quyeàn cho caùc user, xoaù caùc user, caäp nhaät giaùo vieân vaø caäp nhaät chöông trình hoïc vaø ñoàng thôøi Admin cuõng coù quyeàn cuûa caû hoïc vieân. PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG VÔÙI RATIONAL ROSE Xaây döïng moâ hình Use- Case : Nhaän dieän caùc Actor : Hoïc vieân laø ngöôøi coù queàn vaøo daïo xem Web, ñaêng kyù hoïc , hoïc ,thi, sau ñoù hoï coù theå ñaêng nhaäp vaøo heä thoáng ñeå caäp nhaät laïi thoâng tin cuûa mình , ñoàng thôøi cuõng coù theå xem ñieåm maø mình ñaõ ñaït ñöôïc . Giaùo vieân laø ngöôøi maø hoï coù quyeàn ra caâu hoûi , ra ñeà thi , sau ñoù hoï ñaêng nhaäp vaøo heä thoáng ñeå thay ñoåi thoâng tin cuûa mình , ñoàng thôøi cuõng coù quyeàn caäp nhaät vaøo ñeà thi môùi ñeå hoïc vieân thi. Admin laø ngöôøi coù quyeàn cao nhaát trong heä thoáng neân hoï coù quyeàn caäp nhaät giaùo vieân môùi , ñoàng thôøi caäp nhaät chöông trình hoïc môùi vaøo cho hoïc vieân hoïc. Xaây döïng moâ hình Use Case: Töø yeâu caàu thöïc tieån ta coù moâ hình Use Case nhö sau Hình 1. 1. Moâ hình Use Case. Xaây döïng sô ñoà lôùp (Class Diagram): Nhaän dieän caùc lôùp chính : Users : löu tröõ ñaày ñuû caùc thoâng tin veà Usernames , Password vaø caû quyeàn cuûa taát caû caùc User khi vaøo heä thoáng . Hocvien : löu tröõ thoâng tin veà hoïc vieân khi hoï ñaêng nhaäp vaøo hoïc . Giaovien : löu tröõ thoâng tin Teân, Email, Usernames cuûa giaùo vieân khi hoï ñaêng nhaäp vaøo heä thoáng. Chöông : löu tröõ chöông trình hoïc bao goàm 4 chöông. Demuc : löu tröõ soá ñeà muïc coù trong moãi chöông ñoù . Tieumuc : löu tröõ soá tieåu muïc vaø noäi dung chi tieát cuûa moãi ñeà muïc trong moãi chöông ñoù. Hocvienduthi : löu tröõ thoâng tin hoïc vieân khi vaøo thi ñeà thi ñoù , soá laàn vaøo thi vaø ñieåm cuûa hoïc vieân öùng vôùi moãi laàn thi. Cauhoi : löu tröõ chi tieát veà noäi dung caâu hoûi coù trong ngaân haøng caâu hoûi do giaùo vieân ra vaø trong moät chöông cuï theå. Dethi : löu tröõ soá ñeà thi trong ñoù bao nhieâu caâu hoûi vaø thuoäc chöông naøo do giaùo vieân naøo ra. Cautraloi : löu tröõ soá caâu traû lôøi coù trong moät caâu hoûi ñeå hoïc vieân coù theå choïn löïa khi thi. Luachon : löu tröõ soá caâu löïa choïn cuûa hoïc vieân trong caâu hoûi ñoù vaø ñaùp aùn caâu hoûi ñoù ñeå so saùnh keát quaû ñuùng khi hoïc vieân ñaõ choïn. Xaây döïng Class Diagram : Hình 1. 2. Sô ñoà lôùp ( Class Diagram ). Löôïc ñoà tuaàn töï ( Sequence Diagram ) vaø löôïc ñoà hoaït ñoäng (Activity Model ) : Löôïc ñoà tuaàn töï (Sequence Diagram) : Chöùc naêng Hoïc Vieân: Löôïc ñoà döôùi ñaây moâ taû chi tieát caùc chöùc naêng cuûa hoïc vieân khi hoï vaøo trang web Ñaàu tieân vaøo Hoïc vieân ñaêng kyù vaøo heä thoáng Hình 1.3 . Löôïc ñoà tuaàn töï thöù nhaát cuûa hoïc vieân Keá ñeán Hoïc vieân seõ ñaêng nhaäp vaøo heä thoáng baèng Usernames vaø Password maø hoï ñaõ ñaêng kyù Hình 1.4 . Löôïc ñoà tuaàn töï thöù hai cuûa hoïc vieân Sau khi ñaêng nhaäp vaøo heä thoáng thaønh coâng hoïc vieân seõ baét ñaàu hoïc Hình 1.5 . Löôïc ñoà tuaàn töï thöù ba cuûa hoïc vieân Sau ñoù hoïc vieân cuõng coù theå ñaêng nhaäp vaøo heä thoáng ñeå caäp nhaät thoâng tin cuûa mình Hình 1.6 . Löôïc ñoà tuaàn töï thöù tö cuûa hoïc vieân Ñoàng thôøi hoïc vieân cuõng coù theå ñaêng nhaäp vaøo thay ñoåi laïi Password maø mình ñaõ ñaêng kyù tröôùc ñoù Hình 1.7 . Löôïc ñoà tuaàn töï thöù naêm cuûa hoïc vieân höùc naêng Giaùo Vieân: Löôïc ñoà döôùi ñaây moâ taû chi tieát caùc chöùc naêng cuûa Giaùo vieân khi hoï vaøo trang web Ñaàu tieân giaùo vieân seõ ñaêng nhaäp vaøo heä thoáng ñeå thöïc hieän quyeàn cuûa mình Hình 1.8 . Löôïc ñoà tuaàn töï thöù nhaát cuûa giaùo vieân Sau Khi ñaõ ñaêng nhaäp thaønh coâng thì giaùo vieân thöïc thi chöùc naêng caäp nhaät ñeà thi vaøo heä thoáng Hình 1.9 . Löôïc ñoà tuaàn töï thöù hai cuûa giaùo vieân Keá ñeán giaùo vieân cuõng coù theå ñaêng nhaäp vaøo heä thoáng ñeå thay ñoåi Password cuûa mình Hình 1.10 . Löôïc ñoà tuaàn töï thöù ba cuûa giaùo vieân Chöùc naêng Admin: Löôïc ñoà döôùi ñaây moâ taû chi tieát caùc chöùc naêng cuûa Admin khi hoï vaøo trang web Ñaàu tieân Admin cuõng phaûi ñaêng nhaäp vaøo heä thoáng ñeå thöïc hieän quyeàn cuûa mình Hình 1.11 . Löôïc ñoà tuaàn töï thöù nhaát cuûa Admin Sau khi ñaõ ñaêng nhaäp thaønh coâng thì Admin thöïc thi quyeàn ñaàu tieân cuûa mình laø caäp nhaät chöông trình hoïc vaøo heä thoáng ñeå hoïc vieân coù theå tieáp caän nhöõng chöông trình môùi Hình 1.12 . Löôïc ñoà tuaàn töï thöù hai cuûa Admin Ngoaøi ra Admin coù quyeàn caäp nhaät giaùo vieân môùi vaøo heä thoáng Hình 1.13 . Löôïc ñoà tuaàn töï thöù ba cuûa Admin Sau cuøng Admin cuõng coù quyeàn thay ñoåi thoâng tin Password cuûa chính mình Hình 1.14 . Löôïc ñoà tuaàn töï thöù tö cuûa Admin Sô ñoà hoaït ñoäng (Activity Model): Hình 1. 15 . Sô ñoà hoaït ñoäng Vôùi sô ñoà (hình 1. 15) treân ñaây cho ta thaáy chi tieát hôn veà hoïat ñoäng cuûa heä thoáng keå töø khi hoïc vieân baét ñaàu ñaêng kyù vaøo hoïc. Ñeå laøm roõ hôn nöõa caùc chöùc naêng heä thoáng ta böôùc vaøo phaàn thieát keá döõ lieäu seõ moâ taû chi tieát caùc class vaø xöû lyù caøi ñaët chöông trình sau ñaây. Sô Ñoà Entity Relationship: Ñeå theå hieän roû hôn quan heä giöõa caùc lôùp ta söõ duïng coâng cuï Together taïo ra sô sau THIEÁT KEÁ DÖÕ LIEÄU: Moâ taû chi tieát caùc Table trong cô sôû döõ lieäu Table Users Users ( Usernames , Passwords , Quyen ) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Usernames Not null Varchar(50) Khoùa chính Teâân ñaêng nhaäp vaøo heä thoáng phaân bieät vôùi nhöõng teân ñaêng nhaäp khaùc 2 Passwords Not null Varchar(50) ÖÙng vôùi moãi teân ñaêng nhaäp coù moät maät khaåu rieâng 3 Quyen Null Int(4) Quyeàn ñöôïc öu tieân khi ñaêng nhaäp (1:Admin; 2:Giaùovieân; 3: Hoïcvien) Table Giaovien Giaovien(Magiaovien,Tengiaovien,Email,Usernames) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Magiaovien Not null Int (4) Khoaù chính Moãi giaùo vieân coù moät Maõ soá rieâng ñeå phaân bieät vôùi giaùo vieân khaùc 2 Tengiaovien Null Varchar(50) ÖÙng vôùi moãi maõ giaùo vieân laø teân cuûa giaùo vieân 3 Email Null Varchar(50) Email cuûa giaùo vieân 4 Usernames Not null Varchar(50) Teân ñaêng nhaäp cuûa giaùo vieân khi vaøo heä thoáng Table Hocvien Hocvien(Mahocvien,Tenhocvien,Email,Usernames) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Mahocvien Not null Int(4) Khoùa chính Moãi hoïc vieân coù moät maõ soá rieâng ñeå phaân bieät vôùi hoïc vieân khaùc 2 Tenhocvien Not null Varchar (50) ÖÙng vôùi moãi hoïc vieân laø teân cuûa hoïc vieân 3 Email Null Varchar (50) Email cuûa hoïc vieân 4 Usernames Not null Varchar (50) Teân ñaêng nhaäp cuûa hoïc vieân vaøo heä thoáng Table Hoc Hoc(Machuong,Mahocvien,Lanthi,Diem) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Machuong Not null Int(4) Khoùa chính Coù nhieàu chöông ñöôïc phaân bieät theo maõ chöông 2 Mahocvien Not null Int(4) Khoùa chính Coù nhieàu hoïc vieân theo hoïc ñöôïc phaân bieät theo Maõ hoïc vieân 3 Lanthi Not Null Int(4) Khoùa chính Soá thöù töï laàn thi sau khi hoïc moãi chöông 4 Diem Null Float Ñieåm thuoäc veà laàn thi sau moãi chöông Table Chuong Chuong(Machuong,Tenchuong,Noidungtomtat,Hinh,Chuongtruoc, Chuong sau) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Machuong Not null Int(4) Khoaù chính Moãi chöông coù moät maõ soá rieâng ñeå phaân bieät chöông khaùc 2 Tenchuong Null Varchar (50) ÖÙng vôùi moãi chöông laø teân chöông 3 Noidungtomtat Null Varchar (7000) Moãi chöông coù moät noäi dung toùm taét 4 Hinh Null Varchar(50) Hình veõ cuûa chöông ( neáu coù ) 5 Chuongtruoc Null Int (4) Moãi chöông coù moät maõ soá chöông lieàn tröôùc 6 Chuongsau Null Int(4) Moãi chöông coù moät maõ soá chöông lieàn sau Table Demuc Demuc(Mademuc,Tendemuc,Noidungdemuc,Machuong,Hinh) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Mademuc Not null Int(4) Khoùa chính Moãi ñeà muïc coù moät maõ ñeà muïc rieâng ñeå phaân bieät vôùi ñeà muïc khaùc 2 Tendemuc Null Varchar (50) ÖÙng vôùi moãi ñeà muïc coù teân ñeà muïc 3 Noidungdemuc Null Varchar (7000) Moãi ñeà muïc coù noäi dung ñeà muïc 4 SourceCode Null Varchar (7000) Source Code cuaû moãi ñeà muïc 5 Machuong Null Int(4) Khoùa ngoaïi Maõ ñeà muïc thuoäc veà maõ chöông naøo 6 Hinh Null Varchar (50) Hình veõ öùng vôùi moãi ñeà muïc ( neáu coù) Table Tieumuc Tieumuc(Matieumuc,Tentieumuc,Noidungtieumuc,Mademuc,Hinh) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Matieumuc Not null Int(4) Khoùa chính Moãi tieâu muïc coù moät maõ soá rieâng ñeå phaân bieät vôùi tieåu muïc khaùc 2 Tentieumuc Null Varchar (50) Moãi tieåu muïc coù teân tieåu muïc 3 Noidungtieumuc Nul Varchar (7000) ÖÙng vôùi moãi tieåu muïc coù noäi dung 4 Mademuc Null Int(4) Tieåu muïc thuoäc veà maõ ñeà muïc naøo ? 5 Hinh Null Varchar (50) Hình veõ minh hoïa cho tieåu muïc ( neáu coù ) Table Hocvienduthi Hocvienduthi(Mahocvien,Madethi,Lanthicuoi,Diem) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Mahocvien Not null Int(4) Khoùa chính Moãi hoïc vieân coù moät maõ soá rieâng ñeå phaân bieät vôùi hoïc vieân khaùc (trong kyø thi cuoái khoùa) 2 Madethi Not Null Int(4) ÖÙng vôùi maõ hoïc vieân coù moät maõ ñeà thi rieâng 3 Lanthicuoi Not Null Int(4) Soá thöù töï laàn thi sau moãi khoùa hoïc 4 Diem Null Float Ñieåm thuoäc laàn thi ñoù Table Chitietdethi Chitietdethi(Macauhoi,Madethi) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Macauhoi Not null Int(4) Khoùa chính Maõ caâu hoûi thuoäc nhieàu ñeà thi, phaân bieät vôùi nhöõng caâu hoûi khaùc 2 Madethi Not null Int(4) Khoùa chính Moät ñeà thi goàm nhieàu caâu hoûi , phaân bieät vôùi nhöõng ñeà thi khaùc. Table Ñeà thi Dethi(Madethi,Socaukho,Socaude,Socautrungbinh, Machuong,Magiaovien) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Madethi Not null Int(4) Khoùa chính Moãi ñeà thi coù moät maõ soá rieâng ñeå phaân bieät vôùi ñeà thi khaùc 2 Socaukho Null Int(4) Soá caâu hoûi khoù thuoäc veà maõ ñeà thi 3 Socaude Null Int(4) Ñeà thi goàm bao nhieâu caâu hoûi deã ? 4 Socautrungbinh Null Int(4) Soá caâu hoûi trung bình coù trong ñeà thi 5 Machuong Null Int(4) Ñeà thi thuoäc maõ chöông gì ? 6 Magiaovien Null Int(4) Gíao vieân naøo ra ñeà thi ? Table Cauhoi Cauhoi(Macauhoi,Noidungcauhoi,Machuong,Magiaovien,Mucdo) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Macauhoi Not null Int(4) Khoùa chính Moãi caâu hoûi coù moat maõ soá rieâng ñeå phaân bieät vôùi caâu hoûi khaùc 2 Noidungcauhoi Null Varchar (7000) Moãi caâu hoûi coù noäi dung rieâng 3 Machuong Null Int(4) Khoùa ngoïai Caâu hoûi thuoäc veà maõ chöông naøo . 4 Magiaovien Null Int(4) Khoùa ngoaïi Maõ giaùo vieân soaïn caâu hoûi 5 Mucdo Null Int(4) Moãi caâu hoûi coù möùc ñoä khoù rieâng Table Cautraloi Cautraloi(Macauluachon,Noidungcauluachon,Macauhoi) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Macauluachon Not null Int(4) Khoùa chính Moãi caâu löïa choïn coù moät maõ rieâng phaân bieät vôùi nhöõng caâu löïa choïn khaùc 2 Noidungcauluachon Null Varchar (7000) ÖÙng vôùi moãi maõ caâu löïa choïn coù noäi dung caâu löïa choïn Table Chonlua Chonlua(Macauhoi,Macauluachon,Ghichu) STT THUOÄC TÍNH GIAÙ TRÒ KIEÅU RAØNG BUOÄC DIEÃN GIAÛI 1 Macauhoi Not null Int(4) Khoùa chính Moãi caâu hoæ coù maõ caâu hoæ rieâng 2 Macauluachon Not Null Int(4) Khoùa chính ÖÙng vôùi moãi maõ caâu hoæ coù nhieàu maõ caâu löïa choïn 3 Ghichu Null Int(4) Ñaùp aùp ñuùng öùng vôùi moãi maõ caâu hoæ CHÖÔNG II : CAØI ÑAËT CHÖÔNG TRÌNH SÔ ÑOÀ PHAÂN RAÕ CHÖÙC NAÊNG HEÄ THOÁNG : WEB SITE HOÏC QUA MAÏNG CHÖÙC NAÊNG ADMIN CHÖÙC NAÊNG HOÏC VIEÂN CHÖÙC NAÊNG GIAÙO VIEÂN ÑAÊNG KÍ HOÏC HOÏC THI ÑAÊNG KÍ THI XEM ÑIEÅM THI CAÄP NHAÄT THOÂNG TIN DAÏO XEM WEB CAÄP NHAÄT CHÖÔNG TRÌNH HOÏC CAÄP NHAÄT GIAÙO VIEÂN CAÄP NHAÄT ÑEÀ THI THAY ÑOÅI MAÄT KHAÅU THAY ÑOÅI PASSWORD Hình 2. 1. Sô ñoà phaân raõ chöùc naêng heä thoáng CAØI ÑAËT CHÖÔNG TRÌNH : Phaàn hoïc vieân : Töø sô ñoà tuaàn töï öùng vôùi phaàn hoïc vieân (hình 1. 3) ôû chöông 1 , öùng vôùi löôïc ñoà ñaàu tieân thì hoïc vieân muoán vaøo hoïc phaûi ñaêng kyù vaøo hoïc , ñeå laøm roõ hôn chöùc naêng naøy ta coù ñoïan xöû lyù sau: Xöû lyù ñaêng kyù Böôùc 1: khai baùo keát noái cô sôû döõ lieäu Khai baùo trình ñieàu khieån vaø thoâng tin caàn thieát ñeå keát noái vôùi cô sôû döõ lieäu Drivername=”sun. jdbc. Odbc. jdbcOdbcDriver” URL=”jdbc: odbc: HOCQUAMANG” Usernames=”sa” Password =”” Böôùc 2 : Khai baùo caùc tham soá nhaän töø request nhö : Tenhocvien=request. getParameter(“txtTenhocvien”) Töông töï cho email, teân ñaêng nhaäp(Usernames) , maät khaåu (Password) ., ñoàng thôøi caáp quyeàn cho hoïc vieân baèng 0 ( Int quyen=0) Böôùc 3 : Khai baùo caùc ñoái töôïng caàn thieát ñeå taïo keát noái Class. forName(Drivername). newInstace(); Connection Cn=null Cn = DriverManage. getConnection(URL,”Usernames”,”Password”) Statement st=null ResultSet Rs=null Böôùc 4 : Thöïc thi caâu leänh SQL xem hoïc vieân ñaõ ñaêng kyù chöa String SQL=” Select Usernames From Hocvien where Usernames=’”+tendangnhap+”’ String SQL1=” Select Usernames From Hocvien where Usernames=’”+tendangnhap+”’ Rs=st. executeQuery(SQL) Rs=st. executeQuery(SQL1) Kieåm tra neáu neáu teân ñaêng nhaäp (Usernames) naøy ñaõ coù roài thì chuyeån höôùng nhaûy ñeán trang baùo loãi If( rs.next()) { response. SendRedirect(“Loi.html”) } Vaø môøi hoïc vieân ñaêng kyù laïi Kieåm tra neáu chöa toàn taïi thì ta thöïc hieän theâm hoïc vieân naøy vaøo cô sôû döõ lieäu Else { sql=Insert into Hocvien(Tenhocvien,Email ,Usernames) Value (‘”+tenhocvien+”’, ‘”+email+”’,’”+tendangnhap+”’) Sql1=Insert into Users(Usernames, Password, quyen) Value(’”+tendangnhap+”’, ‘”+matkhau+”’,”+quyen+”) Sau khi caäp nhaäp hoïc vieân môùi thaønh coâng seõ chuyeån ñaán trang thaønh coâng Böôùc 5 : Cuoái cuøng ñoùng caùc keát noái laïi Rs. close Cn . close Sau khi ñaõ ñaêng nhaäp vaøo heä thoáng vôùi Usernames vaø Password cuûa mình laø hoï ñaõ coù ñaày ñuû quyeàn töông öùng(hình 1.4). Ñoaïn Chöông trình sau ñaây minh hoïa xöû lyù vieäc login cuûa hoïc vieân khi ñaêng nhaäp vaøo heä thoáng. Xöû lyù Login vaøo heä thoáng cuûa hoïc vieân Töông töï nhö ñoïan xöû lyù treân Böôùc 1 : Khai baùo keát noái cô sôû döõ lieäu Böôùc 2 : Khai baùo caùc tham soá nhaän töø request User=requesr. getParameter(“txtTendangnhap”) Pass=requesr. getParameter(“txtPassword”) Böôùc 3 : Khai baùo caùc ñoái töôïng caàn thieát ñeå keát noái Böôùc 4 : Thöïc thi caâu leänh SQL so saùnh xem coù hoïc vieân naøy khoâng neáu coù thì chaáp nhaän vaø cho hoïc vieân naøy vaøo heä thoáng Select Mahocvien Form Hocvien Where Usernames=’”+User+”’ Neáu khoâng coù hoïc vieân naøy thì baùo loãi vaø môøi hoïc vieân naøy ñaêng nhaäp laïi hoaëc ñaêng kyù laøm hoïc vieân thì môùi ñöôïc vaøo hoïc Böôùc 5 : Ñoùng caùc keát noái Khi vaøo heä thoáng vôùi quyeàn töông öùng cuûa mình hoïc vieân coù quyeàn hoïc vaø thi chöông trình hoïc(hình 1.5 ) ñeå minh hoïa cho chöùc naêng naøy ta coù ñoïan xöû lyù Xöû lyù chöùc naêng hoïc Böôùc 1: Keát noái cô sôû döõ lieäu Böôùc 2 : Thöïc thi caâu leänh truy vaán cho vieäc choïn hoïc phaàn cuaû hoïc vieân sql="SELECT Machuong,Tenchuong FROM Chuong" Trong khi ñaõ choïn ñöôïc chöông ta laáymaõ chöông vaø teân chöông hieån thò cho hoïc vieân choïn while (rs.next()){ } Böôùc 3 :Sau khi choïn hoïc phaàn ,ñoái töôïng request seõ nhaän tham soá töø trang chuong1.jsp gôûi ñeán baèng caâu leänh String machuong=request.getParameter("Machuong") vaø gôûi traû veà trang kqdemuc.jsp vôùi caùc ñeà muïc thuoäc veà chöông maø hoïc vieân ñaõ choïn . String sql="SELECT Mademuc,Tendemuc FROM Demuc WHERE Machuong=" +machuong Böôùc 4 : Töông töï nhö hoïc vieân choïn tieåu muïc vaø noäi dung tieåu muïc Böôùc 5 : Ñoùngkeát noái Xöû lyù chöùc naêng Thi Böôùc 1: keát noái cô sôû döõ lieäu Böôùc 2 : Thöïc thi caâu leänh sql vaø xöû lyù caùc giaûi thuaät Taïo ñeà thi vôùi soá thöù töï ñeà thi laø ngaãu nhieân int t=(int)Math.random()*10+1; out.println("De thi so "+t) Truy xuaát caâu hoæ töø caâu leänh truy vaán sql: String sql="Select Macauhoi,Noidungcauhoi From CauHoi "; Khai baùo 2 bieán vaø 2 maûng chöùa maõ caâu hoæ vaø noäi dung caâu hoæ : String ma,noidung int a[]=new int[100] //Maûng chöùa maõ caâu hoûi String b[]=new String[100] //Maûng chöùa maõ noäi dung Taïo recordset ñeå laáy veà maõ caâu hoûi vaø noäi dung caâu hoûi chöaù vaøo 2 maûng while( rs.next() ) { ma=rs.getString("Macauhoi"); a[i]=Integer.parseInt(ma); //phaân tích maõ caâu hoûi thaønh soá vaø ñöa vaøo maûng b[i]=rs.getString("Noidungcauhoi") //phaân tích noäi dung caâu hoûi vaø ñöa vaøo maûng 2 i++; } Böôùc 4 : So saùnh ñaùp aùn ÖÙng vôùi moãi caâu hoûi , caàn hieån thò Ghichu , Macauluachon , Noidungcauluachon baèng caâu leänh truy vaán sql1="SELECT Chonlua.Ghichu AS Ghichu, Cautraloi.Macauluachon, Cautraloi.Noidungcauluachon FROM Chonlua INNER JOIN Cautraloi ON Chonlua.Macauluachon = Cautraloi.Macauluachon Where Chonlua.Macauhoi="+a[r]+" And Chonlua.Macauluachon=Cautraloi.Macauluachon" Böôùc 5 : Hieån thò keát quaû Böôùc 6 : Ñoùng keát noái ÖÙng vôùi ñöôøng ñi töø sô ñoà hoïc vieân coøn coù theå login vaøo heä thoáng ñeå thay ñoåi thoâng tin vaø thay ñoåi Password cuûa mình(hình 1.6 & hình 1.7) , ñoïan chöông trình sau seõ laøm roõ chöùc naêng naøy Xöû lyù chöùc naêng thay ñoåi Password Böôùc 1:keát noái cô sôû döõ lieäu Böôùc 2 : xöû lyù caâu leänh sql Laáy teân ñaêng nhaäp vaø maät khaåu cuõ vaø maät khaåu môùi do hoïc vieân nhaäp vaøo String username=request.getParameter("txtUsername") String oldPass=request.getParameter("txtOldPass") String newPass=request.getParameter("txtNewPass") Caäp nhaät laïi maät khaåu môùi döïa treân maät khaåu cuõ vaø teân ñaêng nhaäp thoâng qua caâu leänh SQL2="UPDATE Users SET Passwords='" + newPass + "'"; SQL2=SQL2 +" WHERE Passwords='" + oldPass + "'"; Neáu thay ñoài thaønh coâng traû veà trang thaønh coâng , neáu Usernames vaø Password cuõ sai heä thoáng seû traû veà trang loãi Böôùc 3 : Ñoùng keát noái Xöû lyù chöùc naêng thay ñoåi thoâng tin Böôùc 1: Keát noái cô sôû döõ lieäu Statement stmt = null ResultSet rs=null Connection con = null Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") con = DriverManager.getConnection("jdbc:odbc:HOCQUAMANG","sa","") stmt = con.createStatement() Böôùc 2 : Khai baùo caùc tham soá nhaän töø request String Ma=request.getParameter("txtMa") String Ten=request.getParameter("txtTen") String EM=request.getParameter("txtEmail") String SQL="" Böôùc 3 : Thöïc thi caâu leänh SQL SQL="UPDATE Hocvien SET Tenhocvien='"+Ten+"',Email='"+EM+"'"; SQL=SQL+ " WHERE Mahocvien="+Ma; Neáu coù hoïc vieân naøy thì heä thoáng seõ caäp nhaät laïi thoâng tin cho hoïc vieân ñoù Ngöôïc laïi heä thoáng seõ traûveà trang thoâng baùo loãi cho hoïc vieân ñeå hoï ñaêng nhaäp lai Böôùc 4 : Ñoùng keát noái Phaàn giaùo vieân : Ñeå minh hoïa caùc chöùc naêng cuûa giaùo vieân töø sô ñoà tuaàn töï ôû chöông 1 ta seõ vaøo phaàn caøi ñaët cho moãi moät chöùc naêng rieâng öùng vôùi quyeàn cuûa giaùo vieân. Moät giaùo vieân khi muoán vaøo heä thoáng thì hoï ñaêng nhaäp vaøo heä thoáng (hình 1.8) vôùi quyeàn töông öùng cuûa mình thì hoï môùi vaøo ñöôïc , ñeå laøm roõ hôn chöùc naêng ñaêng nhaäp vaøo heä thoáng vôùi quyeàn töông öùng ta coù ñoaïn xöû lyù sau Xöû lyù ñaêng nhaäp vaøo quaûn trò heä thoáng Böôùc 1: Keát noái cô sôû döõ lieäu Böôùc 2: Khai baùo caùc tham soá nhaän töø request user=request.getParameter("txtuser") pass= request.getParameter("txtpass") quyen=request.getParameter("txtquyen") Böôùc 3: Xöû lyù caâu leänh sql String strSQL="select * from Users where Usernames='" +user+ "' and Passwords='" +pass+ "' and Quyen='"+quyen+"'" rs=stmt.executeQuery(strSQL) Böôùc 4 : So saùnh quyeàn töông öùng vôùi moãi User Neáu quyeàn = Admin heä thoáng seõ traû veà trang quaûn trò cuaû Admin vôùi caùc chöùc naêng töông öùng cuaû Admin Neáu qyueàn = Giaùo vien heä thoáng seõ traû veà trang quaûn trò cuûa Gíaovien Neáu quyeàn = Hocvien heä thoáng seõ traû veà trang öùng caùc chöùc naêng cuaû hoïc vieân Ngöôïc laïi heä thoáng traû veà trang baùo loãi vaø môøi baïn ñaêng nhaäp laïi Böôùc 4: Ñoùng keát noái Sau khi ñaêng nhaäp vaøo heä thoáng thaønh coâng thì giaùo vieân coù quyeàn caäp nhaät môùi caâu hoûi vaøo ngaân haøng caâu hoûi ñeå sinh ra ñeà thi môùi cho hoïc vieân thi (hình 1.9), ñeå laøm roõ hôn ñieàu naøy ta coù ñoaïn chöông trình sau Xöû lyù caäp nhaät caâu hoûi thi vaøo ngaân haøng caâu hoûi Böôùc 1: keát noái cô sôû döõ lieäu Böôùc 2 : khai baùo caùc tham soá nhaän töø request String mch,nd,md,mc,mgv,sqlStr=""; mch=""+request.getParameter("txtMch") nd=""+request.getParameter("txtNdung") md=""+request.getParameter("txtmucdo") mc=""+request.getParameter("txtCh") mgv=""+request.getParameter("txtgv") Böôùc 3: Thöïc thi caâu leänh sql sqlStr="INSERT INTO Cauhoi(Noidungcauhoi,Mucdo,Machuong,Magiaovien)" +"VALUES('"+nd+"','"+md+"',"+mc+","+mgv+")" khi caäp nhaät neáu caâu hoûi naøy ñaõ coù seõ traû veà trang loãi coøn neáu chöa coù thì caäp nhaät caâu hoûi môùi vaøo ngaân haøng caâu hoûi Sau cuøng heä thoáng seõ traû veà trang thaønh coâng khi ta caäp nhaät xong Böôùc 4: Ñoùng keát noái Töông töï nhö Hoïc vieân Giaùo vieân cuõng coù quyeàn thay ñoåi Password cuûa mình (hình 1.10) khi caàn thieát. Phaàn Admin : Töông töï ñoái vôùi Admin laø ngöôøi coù chöùc vuï cao nhaát trong h

Các file đính kèm theo tài liệu này:

  • docTONGHOPMOI.DOC
  • docBia.doc
  • docBiatrong.doc
  • docCONGNGHE.doc
Tài liệu liên quan