Đăng ký Đăng nhập
Trang chủ Tiểu luận tốt nghiệp Hệ thống trao đổi thông tin...

Tài liệu Tiểu luận tốt nghiệp Hệ thống trao đổi thông tin

.PDF
50
255
147

Mô tả:

ÑAÏI HOÏC QUOÁC GIA THAØNH PHOÁ HOÀ CHÍ MINH TRÖÔØNG ÑAÏI HOÏC KHOA HOÏC TÖÏ NHIEÂN KHOA TOAÙN-TIN HOÏC BOÄ MOÂN ÖÙNG DUÏNG TIN HOÏC CHUYEÂN NGAØNH TOAÙN-TIN ÖÙNG DUÏNG ------ooo------ TIEÅU LUAÄN TOÁT NGHIEÄP Ñeà taøi: Giaûng vieân höôùng daãn : ThS.Phaïm Theá Baûo GV. Haø Vaên Thaûo Giaûng vieân phaûn bieän : ThS.Nguyeãn Giang Sôn Sinh vieân thöïc hieän : Leâ Nguyeãn Thoaïi Nhö Maõ soá sinh vieân : 9800132 Lôùp : 98T1 NIEÂN KHOÙA 1998-2002 NHẬN XÉT CỦA GIẢNG VIÊN ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ii LỜI CÁM ƠN Đầu tiên em xin chân thành cám ơn các thầy cô đã hết lòng chỉ bảo và dạy dỗ em trong suốt bốn năm học vừa qua. Em xin đặc biệt cám ơn thầy Phạm Thế Bảo và thầy Hà Văn Thảo đã tận tình hướng dẫn và giúp đỡ em hoàn thành tốt đề tài này. Em xin cám ơn khoa Toán-Tin học, bộ môn ứng dụng Tin học và các thầy cô đã tạo mọi điều kiện thuận lợi cho em thực hiện đề tài này. Xin cám ơn anh Võ Đức Cẩm Hải đã giúp đỡ trong quá trình thực hiện đề tài. Cám ơn bạn Lưu Hữu Thuận đã giúp đỡ và đóng góp ý kiến giúp Như hoàn chỉnh tốt hơn đề tài của mình. Cuối cùng xin dành lời cám ơn đến gia đình và người thân đã động viên em trong quá trình thực hiện đề tài. iii LỜI NÓI ĐẦU Do sự phát triển không ngừng của công nghệ thông tin, việc học tập hiện nay không chỉ giới hạn ở hình thức học trên lớp mà còn có hình thức học tập thông qua mạng. Việc học tập trên mạng ngày càng được phát triển và phổ biến ở hầu hết các trường Đại học và Phổ thông. Đối với những người không có thời gian học trên lớp thì họ vẫn có thể học từ xa thông qua Internet với những thao tác đơn giản. Và song song với việc học trên Internet, họ còn có thể trao đổi kiến thức với nhau cũng như đưa ra những thắc mắc và sẽ được giải đáp một cách hợp lý. Việc xây dựng trên Web như là một môi trường giúp cho việc trao đổi thông tin về nội dung của các môn học giữa các bạn sinh viên với nhau và giữa sinh viên với các giảng viên là cần thiết. Chính vì vậy em xin giới thiệu đề tài “Hệ thống trao đổi thông tin trên Web” xem như là một hình thức hỗ trợ việc học tập cho các bạn sinh viên trong Khoa. Trong giới hạn thời gian cho phép để hoàn thành đề tài cho nên ứng dụng có thể chưa đáp ứng được đầy đủ các nhu cầu cho việc học tập của các bạn cũng như đối với các giảng viên bộ môn. Nếu điều kiện cho phép đề tài này sẽ được hoàn chỉnh hơn và phù hợp với nhu cầu hơn. Hy vọng rằng đề tài này sẽ được ứng dụng rộng rãi trong các Khoa như là một hình thức hỗ trợ học tập. Phạm Thế Bảo Digitally signed by Phạm Thế Bảo DN: cn=Phạm Thế Bảo, c=VN, o=Khoa Tóan - Tin học trường Đại học khoa học Tp.HCM, Vietnam, ou=NCLAB, [email protected]. edu.vn Reason: I am the author of this document Date: 2006.08.20 09:46:48 +07'00' iv MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN......................................................................................... ii LỜI CÁM ƠN.......................................................................................................................iii LỜI NÓI ĐẦU...................................................................................................................... iv MỤC LỤC ............................................................................................................................. v CHƯƠNG I: MỞ ĐẦU ......................................................................................................... 1 I.GIỚI THIỆU ................................................................................................................... 1 II.MỤC ĐÍCH VÀ CHỨC NĂNG.................................................................................... 1 1.Người quản trị ............................................................................................................ 1 2.Người sử dụng ............................................................................................................ 1 III.YÊU CẦU CỦA ĐỀ TÀI ............................................................................................. 2 1.Về mặt ứng dụng ........................................................................................................ 2 2.Về mặt kỹ thuật .......................................................................................................... 2 CHƯƠNG II: KHẢO SÁT VÀ LỰA CHỌN CÔNG NGHỆ............................................... 3 I.MÔ HÌNH LẬP TRÌNH MẠNG .................................................................................... 3 1.Mô hình client/server.................................................................................................. 3 2.Mô hình hai tầng......................................................................................................... 3 3.Mô hình ba tầng.......................................................................................................... 4 II.KHẢO SÁT MỘT SỐ CÔNG NGHỆ........................................................................... 5 1.CGI (Common Gateway Interface) ............................................................................ 5 2.ASP (Active Server Page) .......................................................................................... 6 3.JSP (Java Server Page) ............................................................................................... 6 III.SO SÁNH VÀ LỰA CHỌN CÔNG NGHỆ ................................................................ 6 1.So sánh công nghệ ...................................................................................................... 6 2.Lựa chọn công nghệ ................................................................................................... 7 IV.KHẢO SÁT CHI TIẾT VỂ CÔNG NGHỆ SỬ DỤNG............................................... 8 1.HTML (HyperText Markup Language) ..................................................................... 8 2. JSP (Java Server Page) .............................................................................................. 9 3.Java Servlet............................................................................................................... 14 4.JavaBean................................................................................................................... 16 5.JDBC (Java Database Connectivity) ........................................................................ 17 CHƯƠNG III: KIẾN TRÚC HOẠT ĐỘNG VÀ THIẾT KẾ HỆ THỐNG........................ 21 I.KIẾN TRÚC HỆ THỐNG ............................................................................................ 21 II.THIẾT KẾ TỔNG QUÁT ........................................................................................... 21 1.Quản trị hệ thống ...................................................................................................... 21 2.Người sử dụng .......................................................................................................... 22 III.CƠ CHẾ HOẠT ĐỘNG............................................................................................. 22 IV.THIẾT KẾ DỮ LIỆU................................................................................................. 23 V.THIẾT KẾ XỬ LÝ ...................................................................................................... 26 1. Đối với người sử dụng............................................................................................. 26 2. Đối với quản trị........................................................................................................ 29 2. Đối với quản trị........................................................................................................ 30 CHƯƠNG IV: TRIỂN KHAI CÀI ĐẶT............................................................................. 32 v I.CÁC THÀNH PHẦN JAVABEAN.............................................................................. 32 1.Lớp Topic ................................................................................................................. 32 2.Lớp Admin ............................................................................................................... 32 3.Lớp HelpDesk........................................................................................................... 33 II.TRIỂN KHAI CÁC TRANG JSP................................................................................ 35 III.HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN.................................................................... 43 1.Hạn chế..................................................................................................................... 43 2.Hướng phát triển....................................................................................................... 43 TÀI LIỆU THAM KHẢO ................................................................................................... 44 vi Hệ thống trao đổi thông tin CHƯƠNG I: MỞ ĐẦU I.GIỚI THIỆU Công nghệ thông tin đã và đang phát triển rất nhanh chóng, đặc biệt là sự phát triển của Internet cả về phạm vi và ứng dụng. Các nhà khoa học có thể sử dụng Internet để tìm kiếm tài liệu và thảo luận với nhau về việc nghiên cứu. Học sinh, sinh viên có thể tìm kiếm các tài liệu phục vụ cho việc học tập và giải trí. Việc trao đổi kiến thức trên mạng ngày càng phổ biến ở khắp mọi nơi, và trở thành một nhu cầu cần thiết. Việc xây dựng nên một trang Web như là một môi trường giúp cho việc trao đổi kiến thức giữa các bạn sinh viên với nhau và giữa sinh viên với các giảng viên là cần thiết. Đề tài “Hệ thống trao đổi thông tin trên Web” được xem như là một hình thức phục vụ cho việc học tập cho các bạn sinh viên trong Khoa. II.MỤC ĐÍCH VÀ CHỨC NĂNG Trang Web này nhằm mục tiêu phục vụ việc trao đổi thông tin về nội dung của các môn học giữa các bạn sinh viên với nhau và với các giảng viên. Các bạn sinh viên có thể học hỏi được nhiều kinh nghiệm và kiến thức bằng cách gởi những thắc mắc lên trang Web để được các bạn các khác giải đáp hay được giải đáp của các giảng viên. Đối với các giảng viên, qua đó nắm bắt được tình hình học tập của sinh viên hiện nay để có những thay đổi về nội dung, phương pháp và bài giảng cho phù hợp. Với mục đích ở trên, hệ thống phục vụ cho hai đối tượng chính là người sử dụng (sinh viên) và người quản trị (giảng viên). Khi vào hệ thống họ có các chức năng chính như sau: 1.Người quản trị Người quản trị có chức năng thêm vào các môn học và tạo ra các chủ đề mới, xoá hay sửa các chủ đề, xóa đi các câu hỏi trùng lắp, chuyển các câu hỏi vào trong một chủ đề nào đó. Tuy nhiên người quản trị cũng được chia theo cấp bậc có nghĩa là mỗi người quản trị (giảng viên) chịu trách nhiệm về một bộ môn nào đó chỉ có quyền thêm, xoá, sửa các chủ đề thuộc về phạm vi mình quản lý. 2.Người sử dụng Trong phần này người dùng truy cập vào trang Web, xem nội dung, thêm vào câu hỏi hay có thể trả lời các câu hỏi mà mình giải đáp được. Ngoài ra người sử dụng có thể sử dụng chức năng tìm kiếm được những nội dung mình cần. Trang 1 Hệ thống trao đổi thông tin III.YÊU CẦU CỦA ĐỀ TÀI 1.Về mặt ứng dụng Hệ thống cho phép người dùng trao đổi kiến thức cho nhau và trao đổi với các giảng viên. Mỗi giảng viên sẽ có một tài khoản riêng trong ứng dụng, họ có thể thay đổi các môn học, các chủ đề, câu hỏi trong phạm vi quản lý của mình. Đối với những sinh viên vào hệ thống thì phải hỗ trợ sao cho việc tìm kiếm, hỏi hay trả lời các câu hỏi một cách dễ dàng. 2.Về mặt kỹ thuật Ứng dụng đòi hỏi phải có khả năng về các kĩ thuật sau: • Ứng dụng triển khai trên môi trường Web. • Hỗ trợ nhiều trình duyệt.(IE, Netscape...). • Hỗ trợ nhiều người dùng. • Số lượng người truy xuất và người quản trị (giảng viên) không giới hạn. Tóm lại, với các yêu cầu như trên, ta cần phải khảo sát và lựa chọn công nghệ thích hợp để triển khai ứng dụng theo yêu cầu. Trang 2 Hệ thống trao đổi thông tin CHƯƠNG II: KHẢO SÁT VÀ LỰA CHỌN CÔNG NGHỆ I.MÔ HÌNH LẬP TRÌNH MẠNG 1.Mô hình client/server Lập trình mạng thường liên quan đến một máy chủ (server) và nhiều máy khách (client). Trong đó các máy khách và máy chủ giữ những chức năng và nhiệm vụ khác nhau. Đó là mô hình mạng client/server. Như vậy mô hình client/server đã giúp phát triển một phương thức ứng dụng mới đó là việc phân tầng, chia ứng dụng thành nhiều lớp thực hiện những chức năng chuyên biệt. Việc phân chia ứng dụng thành nhiều lớp giúp cho ứng dụng trở nên dễ dàng thay đổi, nâng cấp và tin cậy hơn. Một ứng dụng thường được chia làm 3 tầng: • Giao diện (presentation logic): tầng này là cầu nối giữa người dùng với ứng dụng, cung cấp những chức năng của ứng dụng cho người dùng và nhận những lệnh từ người dùng cho ứng dụng . • Chức năng (business logic): đây là phần lõi của một chương trình, cung cấp tất cả những chức năng có thể có của chương trình cho tầng giao diện. • Cơ sở dữ liệu (Data Access logic): tầng này là Cơ sở dữ liệu của ứng dụng, cung cấp khả năng truy xuất đến cơ sở dữ liệu cho lớp chức năng nếu cần. Mô hình client/server được chia ra làm các mô hình sau: mô hình hai tầng và mô hình ba tầng (còn gọi là mô hình đa tầng). 2.Mô hình hai tầng Mô hình hai tầng được chia làm hai loại: • Tính toán tập trung ở máy khách (thường gọi là fat client-thin server): phía máy khách đảm nhiệm cả 2 tầng giao diện (presentation) và chức năng (business), còn phía máy chủ chỉ đảm nhận nhiệm vụ của tầng cơ sở dữ liệu. Trang 3 Hệ thống trao đổi thông tin • presentation • business Client Database Server DBMS • data access Server Mô hình này đơn giản, thích hợp cho các ứng dụng nhỏ. Tuy nhiên nó có nhược điểm là tốc độ chương trình sẽ chậm do mọi thao tác dữ liệu đều thông qua mạng giữa client và server. Phần tính toán, phần lõi nằm ở máy client nên đòi hỏi máy client phải có cấu hình mạnh, khó nâng cấp vì phải cập nhật lại chương trình nằm ở toàn bộ các client. • Tính toán tập trung ở máy chủ (fat server-thin client): máy khách chỉ đảm nhận phần giao diện, còn máy chủ thực hiện phần chức năng và cơ sở dữ liệu. Database Server DBMS • presentation Client • • business data access Server Mô hình này có tốc độ nhanh do lớp chức năng nằm ở server cùng với cơ sở dữ liệu nên mọi thao tác với cơ sở dữ liệu đều được thực hiện ngay trên server. Do đó giảm được sự lưu thông trên mạng, thông tin lưu trên mạng chỉ là những kết quả trả về cho client sau khi đã được tính toán. Phần lõi nằm ở server nên việc nâng cấp dễ dàng hơn. Tuy nhiên mô hình này đòi hỏi cấu hình máy chủ phải đủ mạnh, dung lượng lớn để lưu trữ dữ liệu. 3.Mô hình ba tầng Trong mô hình này, tầng chức năng (business) được tách ra thành một lớp riêng. Trang 4 Hệ thống trao đổi thông tin Application • presentation • Database Server DBMS business • Client Server data access Database Các tầng chính: • Client tier: bao gồm hai tầng con là client và server-side presentation. Tầng con client sử dụng trình duyệt Web (Web brower) để truyền yêu cầu của người dùng đến tầng con server-side prentation thông qua giao thức HTTP. Tầng này là cầu nối giữa ứng dụng với người dùng, cung cấp những chức năng của ứng dụng. Những yêu cầu của người dùng được đưa đến server và gửi trả về cho client những kết quả mà trình duyệt có trách nhiệm trình bày. Tầng này thiết kế sao cho thân thiện với người dùng. • Middle tier (server tier): tầng này hỗ trợ cho việc trao đổi dữ liệu giữa client và data. Nó cung cấp các chức năng cần thiết để tầng client có thể trao đổi dữ liệu với ngân hàng dữ liệu được quản lý bởi data tier. • Data tier: là nơi lưu trữ dữ liệu, chứa những dữ liệu về chức năng của ứng dụng. Nó cung cấp khả năng truy xuất đến cơ sở dữ liệu cho tầng middle nếu cần. Mô hình này làm cho chương trình trở nên linh động hơn trong việc thay thế, nâng cấp, tích hợp được dữ liệu từ nhiều nguồn ở xa. Do đó mô hình rất thích hợp với những ứng dụng có yêu cầu thay đổi thường xuyên như ứng dụng Web. II.KHẢO SÁT MỘT SỐ CÔNG NGHỆ Quá trình mà trình chủ nhận một yêu cầu từ các trình khách, sau đó xử lý và trả về kết xuất cho trình khách có nhiều công nghệ để hỗ trợ. Ta sẽ khảo sát một số công nghệ sau: 1.CGI (Common Gateway Interface) Khi nhận được lệnh Get hay Post từ trình khách, trình chủ có thể thực thi một chương trình và chương trình này sẽ tự động sinh ra nội dung trả về cho trình khách. Như vậy lúc này tập tin trả về cho trình khách sẽ không tồn tại trên đĩa cứng của trình chủ, nó được tạo ra từ một chương trình. Chương trình này thường được gọi là CGI. Một chương trình CGI của trình chủ có thể sản sinh ra hàng ngàn trang Web theo yêu cầu của trình khách. Ngôn ngữ kịch bản Perl là trình thông dịch của CGI. Sau khi viết các lệnh bằng ngôn ngữ Perl thì lưu thành tập tin có phần mở là .pl. Khi trình khách phát yêu cầu về tập tin .pl gửi đến máy chủ thì trình chủ Web Server được Trang 5 Hệ thống trao đổi thông tin cấu hình để gọi chương trình CGI Perl.exe. Chương trình Perl.exe sẽ đọc tập tin kịch bản .pl đó và thực thi các lệnh chứa trong kịch bản rồi trả kết quả về cho trình khách. 2.ASP (Active Server Page) Nhằm đem lại sự tiện lợi và dễ dàng trong việc xây dựng một ứng dụng trên Web, hãng Microsoft cung cấp công nghệ ASP (Active Server Page) giúp tạo trang Web động đồng thời đảm nhận chức năng gởi và nhận dữ liệu giữa máy khách và máy chủ. Là trang Web chứa mã lệnh viết bằng ngôn ngữ Visual Basic kết hợp với các thẻ định dạng của HTML. ASP xây dựng sẵn 6 đối tượng rất mạnh. Các đối tượng này không quan hệ với nhau theo mô hình phân cấp, cha con, chúng liên hệ nhau dựa trên vai trò và tính năng mà chúng cung cấp. Các đối tượng này bao gồm Server, Application, Session, Request, Response và ObjectContent xây dựng nên môi trường cho các ứng dụng Active Server. Khi máy khách triệu gọi một tập tin .asp, trình chủ Web Server sẽ yêu cầu trình dịch ASP chuyển tải mã lệnh ASP thành kết xuất HTML trả về cho trình khách. 3.JSP (Java Server Page) Là cách kết hợp ngôn ngữ HTML truyền thống và ngôn ngữ Java về phía máy chủ để sinh ra các trang Web động. JSP cung cấp các thẻ lệnh tương tự như thẻ của HTML. Và có một số hành động chuẩn dùng để truy xuất và đặt các giá trị vào các thuộc tính trong Bean. Khi máy khách triệu gọi một tập tin .jsp, trình chủ sẽ đọc trang JSP , bộ diễn dịch JSP sẽ diễn dịch mã lệnh Java chứa trong trang JSP thành Servlet. Sau đó trình chủ Web Server sẽ triệu gọi Servlet trả về kết xuất thuần HTML về cho trình khách. III.SO SÁNH VÀ LỰA CHỌN CÔNG NGHỆ 1.So sánh công nghệ Trang 6 Hệ thống trao đổi thông tin CGI (Common Gateway Interface) - Khi nhận được dữ liệu từ trình khách thì Web Server sẽ triệu gọi chương trình .exe hay CGI. - Được sự hỗ trợ của trình biên dịch Perl được xây dựng bằng ngôn ngữ C, Pascal… - Chạy trên máy chủ Linux, Unix. - Nhược điểm là tiêu tốn tài nguyên và hạn chế về tốc độ. ASP (Active Server Page) JSP (Java Server Page) - Khi nhận được dữ liệu từ trình khách, Web Server xử lý trang ASP. - Khi nhận được dữ liệu từ trình khách, Web Server xử lý trang JSP. - Dùng các lệnh Visual Basic kết hợp với kiến trúc triệu gọi thành phần COM/DOM. Chỉ chạy trên nền chủ IIS của Microsoft. - Dùng các lệnh của Java kết hợp với kiến trúc triệu gọi thành phần Bean. - Chạy được trên nhiều hệ điều hành khác nhau. - 2.Lựa chọn công nghệ Qua quá trình khảo sát một số công nghệ có thể dùng để thiết kế và căn cứ vào yêu cầu của đề tài, việc lựa chọn ngôn ngữ lập trình Java và các công nghệ mà Java cung cấp tương ứng với mô hình ba tầng là hoàn toàn phù hợp. Tầng 1 (client tier): Các máy khách sẽ sử dụng hai trình duyệt là IE (Internet Explorer) và Netscape. Do đó đề tài sử dụng ngôn ngữ trình bày trang Web là HTML (HyperText Markup Language), JavaScript, JavaApplet. Và công nghệ giúp trang Web linh động là JSP vì JSP là cách đơn giản để người dùng tiếp cận được hướng lập trình Web về phía máy chủ hiệu quả và nhanh hơn. Tầng 2 (server tier): Yêu cầu của đề tài là chạy được trên nhiều hệ điều hành nên kĩ thuật hỗ trợ cho tầng này sẽ là JSP, JavaBean, và để hỗ trợ cho việc truy xuất dữ liệu đề tài sử dụng kĩ thuật JDBC. Đối với Web Server thì công nghệ JRun đem lại hiệu quả cũng như các công nghệ khác như Web Logic, Apache, Web Sphere. Tầng 3 (data tier): Dữ liệu ở tầng này được xây dựng trên mô hình dữ liệu quan hệ và được lưu trữ quản lý dưới sự trợ giúp của hệ quản trị cơ sở dữ liệu PostgeSQL. Kiến trúc của mô hình ba tầng: Trang 7 Hệ thống trao đổi thông tin HTML, JavaScript, JSP, JavaApplet Internet Client tier JSP, Servlet, JavaBean JDBC Middle tier Database Data tier IV.KHẢO SÁT CHI TIẾT VỂ CÔNG NGHỆ SỬ DỤNG 1.HTML (HyperText Markup Language) HTML là hàng loạt các đoạn mã chuẩn với qui ước được thiết kế để tạo ra trang Web, giúp tạo và chia sẻ các tài liệu điện tử tích hợp đa phương tiện qua Internet và được hiển thị bởi các trình duyệt Web. HTML cho phép áp dụng siêu liên kết cho tài liệu và trình bày tài liệu với font chữ, hình ảnh, kiểu gióng hàng phù hợp với hệ thống hiển thị văn bản. Có nhiều công cụ để tạo ra trang Web. Ví dụ có thể tạo tập tin .html bằng Microsoft Word, Note Pad trên Windows, Netscape Navigator, EditPlus...Các trình soạn thảo trên có các công cụ cho phép tạo và hiệu chỉnh tập tin .html. HTML dùng các thẻ đã được định nghĩa sẵn để tạo trang Web. Các thẻ bắt đầu bằng “<” và kết thúc bằng “>”. Các thẻ gồm tên thẻ (đã được định nghĩa sẵn) và các thuộc tính (có thể có hoặc không) để bổ sung thêm vào hình thức thể hiện của thẻ. Tên thẻ chính là dấu hiệu để nhận biết loại định dạng. Các phần tử thẻ HTML bắt đầu bằng thẻ mở < > và kết thúc bằng thẻ đóng . Ngoài ra còn có các phần tử rỗng < Tên [thuộc tính] />. Giữa thẻ đóng và thẻ mở là dữ liệu cần định dạng. Thuộc tính của các thẻ được kết hợp theo cặp name = value. Thuộc tính mang giá trị là text, giá trị của nó cũng ở dạng text được đặt trong dấu “ ”. Tên của thuộc tính là duy nhất. Ngoài ra HTML còn có các tham chiếu thực thể được định nghĩa trước: & : & < : < > : > ' : ‘ " : “ Các thẻ được định nghĩa trước: • • Thẻ cấu trúc: định rõ cấu trúc của tài liệu. Thẻ hình thức văn bản: định rõ dạng hiển thị văn bản. Gồm 2 loại: thẻ vật lý và thẻ nội dung. +Thẻ đoạn văn bản: định rõ dạng tiêu đề, đoạn và dấu ngắt dòng. +Thẻ font chữ: định rõ cỡ chữ, màu chữ. +Thẻ danh sách: định rõ danh sách theo thứ tự hoặc không theo thứ tự, danh sách định nghĩa. Trang 8 Hệ thống trao đổi thông tin +Thẻ bảng biểu: xác định bảng biểu. +Thẻ liên kết: định rõ các liên kết, định hướng di chuyển đến tài liệu khác. +Thẻ hình ảnh: định rõ vị trí truy cập hình ảnh và cách hiển thị hình ảnh. Ngoài ra HTML còn có các thẻ để thể hiện các ô nhập liệu, các nút nhấn và các chọn lựa. 2. JSP (Java Server Page) JSP (Java Server Page) là một công nghệ để tạo trang HTML động về phía trình chủ. JSP kết hợp ngôn ngữ HTML truyền thống và ngôn ngữ Java về phía máy chủ. JSP đưa lệnh Java vào các thẻ HTML. Các trang JSP chứa các thẻ đặc biệt qui định gần giống như thẻ của ngôn ngữ HTML. Một trang JSP sẽ được bộ diễn dịch JSP (JSP Compiler) sẽ ánh xạ trực tiếp mã JSP thành servlet. Sau đó trình chủ Web Server sẽ triệu gọi servlet trả về kết xuất thuần HTML về trình khách. JSP cung cấp các thẻ lệnh giúp tạo trang Web. Tương tự như thẻ HTML, thẻ lệnh của JSP cũng bao gồm các thẻ mở và thẻ đóng. Thực sự các thẻ JSP xây dựng theo đặc tả và chuẩn XML (Extension Markup Language) nên các thẻ của JSP có phân biệt chữ thường và chữ hoa. Mỗi thẻ có các thuộc tính quy định cách dùng thẻ. 2.1.Thẻ chỉ dẫn (directives): 2.1.1.<%@ directive {attr=”value”}%>: Thẻ này cung cấp thông tin toàn cục để dịch trang JSP. attr :là thuộc tính. value: là giá trị ứng với thuộc tính đó, được đặt trong dấu “ ”. 2.1.2.<%@ page %>: thẻ này định nghĩa những thông tin có giá trị toàn cục trong trang JSP. Thẻ được sử dụng trong hầu hết các trang JSP được viết. Thẻ chứa các thuộc tính chỉ ra thông tin chú thích về một trang, có thể chỉ ra ngôn ngữ kịch bản đang sử dụng trong trang, những gói của Java cần import vào để sử dụng hay triệu gọi một trang lỗi khi có lỗi hay một sự ngoại lệ xuất hiện. Thẻ thường được đặt trước thẻ mở . 2.1.3.<%@ include %>: Cú pháp: <%@ include file=”URL or FilePath”%> Thẻ này dùng để nhúng một trang html hay một tài nguyên tĩnh vào trang JSP hiện hành. Thuộc tính file cho biết địa chỉ URL hay đường dẫn đến tập tin cần nhúng vào. 2.1.4.<%@ tablib%>: là thẻ dùng để tuyên bố rằng trang jsp sử dụng một thẻ thư viện. Cú pháp: <%@tablib uri=”tagLibraryURI” prefix=”tagPrefix”%> Thuộc tính: • uri: tham chiếu đến một địa chỉ URI chứa các thẻ truyền thống. • prefix: dùng để phân biệt các hành động. Trang 9 Hệ thống trao đổi thông tin 2.2.Thẻ kịch bản (scripting): 2.2.1.<%! declaration %>: sử dụng để khai báo biến và các phương thức trong ngôn ngữ kịch bản sử dụng trong trang jsp. 2.2.2.<%= expression %>: dùng để hiển thị một biểu thức. Biểu thức sẽ được kết xuất ra bởi đối tượng JspWriter dưới dạng đối tượng String. Biểu thức trong jsp được gán giá trị khi trang jsp thực thi. Chuỗi kết quả của biểu thức sẽ được chèn vào vị trí tham chiếu của biểu thức trong tập tin jsp. 2.2.3.<% scriptlet %>: thẻ này cho phép chứa bất kì phát biểu hợp lệ nào của ngôn ngữ được tham chiếu trong dẫn hướng của ngôn ngữ diễn dịch. Đề tài này là đặt các mã lệnh Java ở giữa cặp thẻ tương tự như một chương trình java thông thường. Sciptlet thực thi tại thời điểm gọi. 2.3.Thành phần chú thích: Trong trang jsp thì lời chú thích được đặt giữa cặp thẻ:. Trong scripting thì lời chú thích được giữa /* comment */. 2.4.Các hành động chuẩn: 2.4.1.: dùng tạo hay định vị một Bean. Hành động này liên kết đến các đối tượng của Java được định nghĩa trong một phạm vi với một định danh được định nghĩa trong trang jsp. Cú pháp: typeSpec::= class =”className” | class =”className” type =”typeName”| type =”typeName” class =”className”| beanName =”beanName” type =”typeName”| type =”typeName” beanName =”beanName”| type =”typeName”. Các thuộc tính: + id: tên dùng để xác định đối tượng và cũng là tên biến được khai báo và khởi tạo với các đối tượng tham chiếu trong scripting. + scope: là phạm vi cho biết môi trường sống của đối tượng. Giá trị mặc định là “page”. + class: tên đầy đủ của lớp đã được định nghĩa trong Bean (lớp định nghĩa việc thực thi của đối tượng). + beanName: tên của Bean, như là phương thức instantiate() của lớp java.beans.Beans. + type: định nghĩa kiểu của việc định nghĩa biến scripting trong trường hợp đặc biệt. Nếu không, giá trị giống như giá trị của thuộc tính class. 2.4.2.: là hành động dùng để đặt vào giá trị của thuộc tính trong Bean từ một HTML form. Trang 10 Hệ thống trao đổi thông tin Tên của thuộc tính phải được định nghĩa trước trong Bean và liên kết với tên của thành phần form. Để sử dụng được hành động này thì phải có phương thức set tương ứng trong Bean cho mỗi thuộc tính. Chú ý là hành động này chỉ đặt được một giá trị vào một thuộc tính tại một thời điểm. Cú pháp: prop_expr::= property =”*”| property =”propertyName”| property =”propertyName” param =”paramName”| property =”propertyName” value =”propertyValue”. propertyValue =String hay là một expr_scriptlet. Thuộc tính: + name: là tên của thành phần Bean phải giống với tên đã được định nghĩa trước bởi thành phần . + property: tên của thuộc tính trong Bean cần đặt giá trị. + param: tên của tham số yêu cầu, là giá trị mà bạn muốn đặt vào thuộc tính trong Bean. Tên của tham số yêu cầu thường là tên của HTML form. + value: là giá trị để gán cho thuộc tính. Một hành động không thể có đồng thời param và value. 2.4.3.: là hành động dùng để lấy giá trị của thuộc tính trong Bean. Tương ứng với hành động này là phương thức get trong Bean. Giá trị lấy ra được chuyển thành String và có thể thể hiện giá trị như là một output. Cú pháp: Thuộc tính: + name: tên của Bean được định nghĩa trước bởi . + property: tên của thuộc tính cần lấy giá trị. 2.4.4.: là hành động dùng để nhúng một tài nguyên tĩnh hay động vào trang jsp hiện hành. có thể có thành phần con để cung cấp giá trị cho các tham số cho mục đích nhúng. Cú pháp: hay {} Thuộc tính: + page: là đường dẫn URL đến một trang cần nhúng. Trang 11 Hệ thống trao đổi thông tin + flush: có giá trị là Boolean. Nếu giá trị là true thì vùng đệm bị đẩy ra. Giá trị mặc định là false. 2.4.5.: hành động này cho phép trình dịch gởi đi một yêu cầu tại thời điểm thực thi đến tài nguyên tĩnh, JavaServlet hay đến trang jsp khác. Hành động này làm chấm dứt việc thực thi của trang hiện hành. Thường dùng như một điều kiện trong jsp để chuyển hướng xử lý. Cú pháp: hay {} Thuộc tính: page: xác định quan hệ URL của đích mà hành động jsp:forward chuyển đến. 2.4.6.: là hành động dùng để cung cấp và tạo giá trị cho tham số. Thường dùng trong các hành động jsp:include, jsp:forward, jsp:plugin. Khi làm việc với hành động jsp:include, jsp:forward thì trang được nhúng hay trang chuyển tới sẽ nhận được các tham số mới với các giá trị mới. Cú pháp: Thuộc tính: + name:tên của tham số tham chiếu. + value: giá trị của tham số được tham chiếu. 2.4.7.: hành động này cho phép tạo ra trang HTML chứa đựng tính hợp lệ của trình duyệt khách. Hành động tạo ra thẻ hay để đưa ra dòng xuất của đối tượng response. Thuộc tính của jsp:plugin cung cấp cấu hình dữ liệu để thể hiện phần tử đó. Cú pháp: { {} } Thuộc tính: + type: xác định loại cần đưa vào là Bean hay Applet. + code: tên của class được nhúng. + codebase: tham chiếu cơ sở hay đường dẫn liên hệ đến tập tin plugin.class. 2.5.Các đối tượng ẩn:(implicit object) Trang 12 Hệ thống trao đổi thông tin Các đối tượng ẩn luôn luôn có giá trị cho việc sử dụng trong scriptlet và biểu thức mà không cần phải khai báo trước. Hầu hết các ngôn ngữ kịch bản đòi hỏi được cung cấp việc truy cập đến đối tượng này. Mỗi đối tượng ẩn đều có một lớp hay giao diện được định nghĩa trong nhân java hay gói JavaServletAPI. 2.5.1.Đối tượng Request: Đối tượng này đại diện cho đối tượng javax.servlet.htttp. HttpServletRequest. Đối tượng request nắm giữ các tham số hay dữ liệu do trình khách gửi lên. Phương thức getParameter() nhận tên tham số và trả về giá trị chuỗi tương ứng với tên tham số đó. 2.5.2.Đối tượng Response: Là đối tượng phản hồi thông tin xử lý từ trình chủ trở về trình duyệt. Đối tượng này dùng để xuất ra trình duyệt khách dữ liệu dưới dạng HTML. Các phương thức thường dùng: • getWriter(): dùng thực hiện kết xuất. • sendRedirect(“ .jsp”): dùng liên kết trực tiếp đến một trang jsp. • setContentType(“text/html”): định dạng xuất ra dạng văn bản hay dạng HTML. • getOutputStream(): lấy dữ liệu trong vùng đệm nhờ OutputStream. 2.5.3.Đối tượng session: Là đối tượng tham chiếu đến đối tượng javax.servlet.http.HttpSession. Đối tượng này được khởi tạo bằng phương thức pageContext.getSession() để tạo trang servlet. Khi cần một biến nào đó có giá trị toàn cục từ khi bạn mở cho đến khi kết thúc trình duyệt đó thì đối tượng session được tạo ra. Đối tượng session tạo ra biến cục bộ cho phép lưu một giá trị nào đó từ trang jsp này sang trang jsp khác. 2.5.4.Đối tượng Application: Đối tượng này tham chiếu đến đối tượng javax.servlet.ServletContext lưu giữ cấu hình toàn cục của Servlet và JSP. Đối tượng Application có phạm vi hoạt động ở cấp ứng dụng nghĩa là có thể giữ giá trị của tất cả các trang jsp ở những session khác nhau cho đến khi trình dịch JSP engine bị đóng lại. 2.5.5.Đối tượng Out: Đối tượng xuất phát từ lớp java.io.Writer. Đối tượng này dùng ghi kết xuất gửi về trình duyệt máy khách. 2.5.6.Đối tượng Config: Tượng trưng cho đối tượng ServletConfig. Được định nghĩa là đối tượng tạo bởi Servlet chứa các thông tin cấu hình của Servlet. 2.5.7.Đối tượng Exception: Đối tượng này chỉ tồn tại trong trang xử lý lỗi. Dùng tham chiếu đến nguyên nhân gây ra lỗi mà trang error có liên quan. 2.6.Quá trình thực thi của trang JSP: Quá trình thực thi của trang JSP được thể hiện thông qua sơ đồ sau: Trang 13 Hệ thống trao đổi thông tin JSP file JSP file .java file Web Browser HTTP or orther protocol Client .class file Server Graphics Component Data store Data Store Trước tiên một ứng dụng JSP là một tập hợp của các file JSP, HTML, đồ hoạ và các tài nguyên khác. Khi người dùng tải trang lần đầu tiên, các file sẽ chuyển đổi với nhau mà không có dữ liệu động nào trong file nguồn java (file chứa các thành phần bean) với tên đã được định nghĩa trong file jsp thực thi. Sau đó file .java sẽ được biên dịch thành file .class. Trong quá trình thực thi, file .java là một JavaServlet được biên dịch với JavaServletAPI. Khi người dùng nhập dữ liệu từ form và nhấn Submit thì các thành phần ứng dụng nắm giữ dữ liệu hay truy cập dữ liệu động từ nơi lưu trữ và trả về dữ liệu cho file .java nơi mà nó được biên dịch thành file .class. Tập tin .class là một Java Servlet, trả lại dữ liệu đến trình duyệt của client bởi phương thức service() của nó. Ở đây người dùng sẽ thấy được kết quả dưới dạng HTML. 3.Java Servlet Servlet thực sự là một mẫu chương trình viết bằng ngôn ngữ Java, được trình chủ Web triệu gọi, sản sinh ra kết xuất phù hợp trả về cho client. Servlet chạy trên máy ảo Java, xử lý và sinh mã HTML trả về trình khách. Servlet chỉ nạp một lần bởi Web Server và có thể duy trì các hành động giữa các yêu cầu. 3.1.Các phương thức xử lý cơ bản: Thật sự lớp GenericServlet là phần cài đặt tổng quát cho đặc tả giao tiếp (interface) mang tên Servlet. Một servlet cơ bản cần có những phương thức phục vụ cho các nhu cầu: khởi tạo (init), hoạt động và phục vụ (service), hủy (destroy), trả về thông tin cấu hình (getServletInfo). Khi tạo ra servlet mới, đơn giản chỉ nên kế thừa lại GenericServlet và xây dựng chồng (overide) các phương thức mà bạn muốn sử dụng. 3.1.1.Phương thức khởi tạo init(): Phương thức này được gọi khi lần đầu tiên trình chủ Web Server nạp mã thực thi của servlet từ tập tin .class vào bộ nhớ và bắt đầu cho phép servlet hoạt động. Có thể dựa Trang 14 - Xem thêm -

Tài liệu liên quan


Thư viện tài liệu trực tuyến
Hỗ trợ
hotro_xemtailieu
Mạng xã hội
Copyright © 2023 Xemtailieu - Website đang trong thời gian thử nghiệm, chờ xin giấy phép của Bộ TT & TT
thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi tài liệu như luận văn đồ án, giáo trình, đề thi, .v.v...Kho tri thức trực tuyến.
Xemtailieu luôn tôn trọng quyền tác giả và thực hiện nghiêm túc gỡ bỏ các tài liệu vi phạm.