Đăng ký Đăng nhập
Trang chủ XÂY DỰNG HỆ THỐNG HỌC TẬP VÀ CHUYÊN CẦN SINH VIÊN ...

Tài liệu XÂY DỰNG HỆ THỐNG HỌC TẬP VÀ CHUYÊN CẦN SINH VIÊN

.DOCX
73
116
135

Mô tả:

1. Tổng quan về đề tài Trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng được thành lập từ năm 2003, từ năm 2006 phương thức đào tạo theo hệ thống tín chỉ được áp dụng vào nhà trường. Nhà trường đã sử dụng các phần mềm quản lý tín chỉ nhưng chưa được hoàn thiện. Vì vậy vẫn đang trong quá trình xây dựng và bổ xung các chức năng. Quản lý đào tạo tín chỉ là một công việc rất phức tạp không thể thực hiện bằng tay. Cho đến thời điểm hiện tại, trường vẫn chưa có một phần mềm hay Website nào hỗ trợ cho việc học tập và chuyên cần sinh viên, việc quản lý sinh viên trong lớp học phần của giảng viên bộ môn vẫn thực hiện theo hướng thủ công, giảng viên chủ nhiệm và phụ huynh không thể biết được tình hình học tập của sinh viên, sinh viên cần biết rõ tình hình chuyên cần, kết quả học tập của bản thân để có hướng học tập tốt hơn. Sau khi tìm hiểu về hệ thống phần mềm quản lý đào tạo tín chỉ kết hợp với cơ sở dữ liệu sẵn có của nhà trường, nhận thấy việc xây dựng hệ thống quản lý học tập và chuyên cần sinh viên là khả thi và cần thiết. Em đã chọn đề tài đề tài "Xây dựng hệ thống học tập và chuyên cần sinh viên" với mong muốn đưa lĩnh vực công nghệ thông tin áp dụng vào thực tế. Các vấn đề quan trọng cần giải quyết trong đề tài: Giảng viên bộ môn biết được thông tin lớp học phần mà mình giảng dạy để tiến hành điểm danh sinh viên theo thời khóa biểu. Giảng viên chủ nhiệm nắm rõ thông tin các các sinh viên trong lớp sinh hoạt mà mình chủ nhiệm, thống kê chuyên cần sinh viên lớp sinh hoạt để có biện pháp xử lý đối với những sinh viên hay nghỉ học. Sinh viên cần biết kết quả học tập, lịch học các môn mà mình đăng ký, nắm được tình hình chuyên cần bản thân để có hướng học tập tốt hơn. Phụ huynh nắm được kết quả học tập, chuyên cần học tập của sinh viên để quan tâm và động viên sinh viên trong học tập. 2. Mục đích và ý nghĩa của đề tài 2.1. Mục đích Xây dựng website quản lý học tập và chuyên cần sinh viên cho Trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng, nhằm giúp giảng viên, phụ huynh giám sát được tình hình học tập của sinh viên, sinh viên nắm được lịch học, kết quả học tập và chuyên cần để có phương hướng học tập thật tốt. Hệ thống được xây dựng dành cho 3 đối tượng: giảng viên, sinh viên và phụ huynh bao gồm các chức năng chính sau. Đối với giảng viên: Xem thông tin lớp học phần mà mình giảng dạy. Xem thông tin lớp sinh hoạt. Thống kê chuyên cần sinh viên của lớp sinh hoạt. Đối với sinh viên: Xem thông tin cá nhân. Xem thông tin lớp sinh hoạt. Xem thông tin lớp học phần. Xem kết quả học tập. Xem chuyên cần bản thân. Đối với phụ huynh: Xem kết quả học tập và rèn luyện của sinh viên. Xem chuyên cần sinh viên. 2.2. Ý nghĩa Đưa lĩnh vực công nghệ thông tin áp dụng vào thực tế. Tạo mối liên hệ giữa sinh viên và giảng viên, sinh viên và phụ huynh. Giúp cải thiện ý thức học tập của sinh viên.
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 3736949, Fax. (84-511) 3842771 Website: itf.dut.udn.vn, E-mail: [email protected] ĐỒ ÁN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH :  D480201 ĐỀ TÀI : XÂY DỰNG HỆ THỐNG HỌC TẬP VÀ CHUYÊN CẦN SINH VIÊN SINH VIÊN LỚP MÃ SINH VIÊN CBHD : : : : TRƯƠNG NGỌC PHÚ 11T2 102110225 TS. HUỲNH CÔNG PHÁP ĐÀ NẴNG, 5/2015 LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã nhiệt tình giảng dạy, truyền đạt những kiến thức quý báu cho em trong suốt những năm em theo học tại trường, tạo điều kiện để em thực hiện tốt luận văn này. Trong suốt thời gian thực hiện và hoàn thành đồ án này, em đã nhận được sự giúp đỡ và hướng dẫn tận tình của các thầy, các cô và ở phòng đào tạo trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng. Đặc biệt em xin chân thành cảm ơn thầy Ts. Huỳnh Công Pháp đã tận tình hướng dẫn, chỉ bảo, động viên và hỗ trợ em trong suốt quá trình thực hiện đề tài này. Trong thời gian làm đồ án cùng thầy, em không những học hỏi được những kiến thức mà còn học hỏi được khả năng làm việc nghiêm túc, độc lập và có trách nhiệm với công việc của mình. Mặc dù em đã cố gắng nổ lực để thực hiện đề tài này, song luận văn chắc chắn khó tránh khỏi những thiếu sót. Do đó, em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý thầy cô. Một lần nữa, em xin chân thành cảm ơn! Sinh viên, Trương Ngọc Phú 1 LỜI CAM ĐOAN Em xin cam đoan: 1. Những nội dung trong luận văn này là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy Ts. Huỳnh Công Pháp 2. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm. Sinh viên, Trương Ngọc Phú 2 NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... 3 NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... ....................................................................................................................................................... 4 MỤC LỤC CHƯƠNG 1. CƠ SỞ LÝ THUYẾT..........................................................4 1.1. GIỚI THIỆU VỀ JSP VÀ SERVLET.......................................................4 1.1.1. Tìm hiểu về JSP (JavaServer Page).........................................4 1.1.2. Tìm hiểu về servlet....................................................................7 1.1.3. Ưu nhược điểm của JSP và Servlet.........................................11 1.2. MÔ HÌNH MVC TRONG XÂY DỰNG ỨNG DỤNG WEB.........12 1.2.1. Cách thức làm việc của mô hình MVC....................................13 1.2.2. Ưu nhược điểm của MVC.......................................................13 1.3. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL..............................................14 1.3.1. Giớ thiệu.................................................................................14 1.3.2. Các ưu thế nổi bật của MySQL...............................................14 CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................17 2.1. PHÂN TÍCH YÊU CẦU..........................................................................17 2.1.1. Các chức năng chính..............................................................17 2.1.2. Mô tả chức năng.....................................................................17 2.2. SƠ ĐỒ CA SỬ DỤNG (USE CASE).....................................................19 2.2.1. Tác nhân.................................................................................19 2.2.2. Sơ đồ ca sử dụng.....................................................................19 2.3. SƠ ĐỒ HOẠT ĐỘNG.............................................................................25 2.3.1. Sơ đồ hoạt động đăng nhập....................................................25 2.3.2. Sơ đồ hoạt động điểm danh.....................................................26 2.3.3. Sơ đồ hoạt động thống kê chuyên cần sinh viên......................27 2.3.4. Sơ đồ hoạt động quản lý học tập và chuyên cần sinh viên......28 2.3.5. Sơ đồ hoạt động theo dõi học tập và chuyên cần sinh viên.....29 2.4. CƠ SỞ DỮ LIỆU...................................................................................30 2.4.1. Lược đồ cơ sở dữ liệu.............................................................30 2.4.2. Mô tả các bảng dữ liệu...........................................................32 2.5. SƠ ĐỒ LỚP..........................................................................................40 2.5.1. Sơ đồ lớp khái niệm................................................................40 2.5.2. Sơ đồ lớp tổng quát.................................................................40 2.6. SƠ ĐỒ TUẦN TỰ..................................................................................41 2.6.1. Sơ đồ tuần tự đăng nhập.........................................................41 2.6.2. Sơ đồ tuần tự điểm danh.........................................................42 2.6.3. Sơ đồ tuần tự xem thông tin lớp sinh hoạt của giảng viên......43 2.6.4. Biểu đồ tuần tự thống kê.........................................................44 5 2.6.5. Sơ đồ tuần xem chi tiết chuyên cần sinh viên..........................45 CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ.....................46 3.1. MÔI TRƯỜNG TRIỂN KHAI..................................................................46 3.2. KẾT QUẢ TRIỂN KHAI.........................................................................46 3.2.1. Các chức năng dành cho giáo viên.........................................46 3.2.2. Các chức năng dành cho sinh viên..........................................51 3.2.3. Các chức năng dành cho phụ huynh.......................................55 3.3. ĐÁNH GIÁ VÀ NHẬN XÉT...................................................................57 DANH SÁCH HÌNH VẼ 6 Hình 1.1 Cơ chế triệu gọi trang JSP......................................................................6 Hình 1.2 Vai trò của Servlet...................................................................................8 Hình 1.3 Vòng đời Servlet.....................................................................................9 Hình 1.4 Mô hình MVC xấy dựng ứng dụng web..............................................12 Hình 1.5 Cách thức làm việc vủa mô hình MVC................................................13 Hình 2.1. Sơ đồ ca sử dụng tổng quát.................................................................19 Hình 2.2. Sơ đồ ca sử dụng điểm danh sinh viên................................................20 Hình 2.3. Sơ đồ ca sử dụng thống kê chuyên cần sinh viên...............................21 Hình 2.4. Sơ đồ ca sử dụng xem thông tin lớp sinh hoạt....................................22 Hình 2.5. Sơ đồ ca sử dụng xem thông tin lớp học phần....................................23 Hình 2.6. Sơ đồ ca sử dụng quản lý học tập sinh viên........................................24 Hình 2.7. Sơ đồ hoạt động đăng nhập.................................................................25 Hình 2.8 Sơ đồ hoạt động điểm danh..................................................................26 Hình 2.9. Sơ đồ hoạt động thống kê chuyên cần sinh viên.................................27 Hình 2.10. Sơ đồ hoạt động quản lý học tập và chuyên cần sinh viên...............28 Hình 2.11. Sơ đồ hoạt động theo dõi học tập và chuyên cần sinh viên..............29 Hình 2.12. Lược đồ cơ sở dữ liệu thông tin sinh viên........................................30 Hình 2.13. Lược đồ cơ sở dữ liệu lớp sinh hoạt..................................................31 Hình 2.14. Lược đồ cơ sở dữ liệu lớp học phần và chuyên cần.........................31 Hình 2.15. Lược đồ cơ sở dữ liệu kết quả học tập..............................................32 Hình 2.16. Sơ đồ lớp khái niệm...........................................................................40 Hình 2.17. Sơ đồ lớp tổng quát...........................................................................40 Hình 2.18. Sơ đồ tuần tự đăng nhập....................................................................41 Hình 2.19. Sơ đồ tuần tự điểm danh....................................................................42 Hình 2.20. Sơ đồ tuần tự xem thông tin lớp sinh hoạt của giảng viên...............43 7 Hình 2.21. Sơ đồ tuần tự thống kê.......................................................................44 Hình 2.22. Sơ đồ tuần tự xem chi tiết chuyên cần sinh viên..............................45 Hình 3.1. Giao diện màn hình đăng nhập dành cho giảng viên..........................46 Hình 3.2. Giao diện màn hình trang chủ của giảng viên....................................47 Hình 3.3. Giao diện màn hình xem thông tin lớp học phần của giảng viên.......47 Hình 3.4. Xem danh sách sinh viên lớp học phần của giảng viên......................48 Hình 3.5. Giao diện màn hình điểm danh của giảng viên...................................48 Hình 3.6. Giao diện màn hình xem thông tin lớp sinh hoạt của giảng viên.......49 Hình 3.7. Giao diện màn hình thông kê chuyên cần sinh viên...........................49 Hình 3.8. Giao diện màn hình thống kê chuyên cần chi tiết từng sinh viên......50 Hình 3.9. Giao diện màn hình chi tiết buổi vắng sinh viên của giảng viên.......50 Hình 3.10. Giao diện màn hình đăng nhập dành cho sinh viên..........................51 Hình 3.11. Giao diện màn hình trang chủ của sinh viên.....................................51 Hình 3.12. Giao diện màn hình xem thông tin cá nhân của sinh viên................52 Hình 3.13. Giao diện màn hình xem thông tin lớp sinh hoạt của sinh viên.......52 Hình 3.14. Xem kết quả học tập và rèn luyện của sinh viên..............................53 Hình 3.15. Xem thông tin lớp học phần và chuyên cần của sinh viên...............53 Hình 3.16. Giao diện màn hình xem chi tiết chuyên cần của sinh viên.............54 Hình 3.17. xem danh sách sinh viên lớp học phần của sinh viên.......................54 Hình 3.18 Giao diện màn hình tra cứu thông tin sinh viên.................................55 Hình 3.19. Xem thông tin cá nhân sinh viên của phụ huynh..............................55 Hình 3.20. Xem kết quả học tập và rèn luyện sinh viên của phụ huynh............56 Hình 3.21. Xem thông tin lớp học phần và chuyên cần sinh viên......................56 Hình 3.22. Xem chi tiết chuyên cần sinh viên của phụ huynh...........................57 8 9 DANH SÁCH BẢNG BIỂU Bảng 1. Các tác nhân của hệ thống................................................................19 Bảng 2. Đặc tả ca sử dụng điểm danh sinh viên............................................20 Bảng 3. Đặc tả ca sử dụng thống kê chuyên cần sinh viên............................21 Bảng 4. Đặc tả ca sử dụng xem thông tin lớp sinh hoạt................................22 Bảng 5. Đặc tả ca sử dụng xem thông tin lớp học phần................................23 Bảng 6. Đặc tả ca sử dụng quản lý học tập sinh viên....................................25 Bảng 7. Mô tả bảng DIEMRENLUYEN.......................................................32 Bảng 8. Mô tả bảng DM_CAPDAOTAO......................................................32 Bảng 9. Mô tả bảng DM_COTDIEM............................................................33 Bảng 10. Mô tả bảng DM_DANTOC............................................................33 Bảng 11. Mô tả bảng DM_HT_DAOTAO.....................................................33 Bảng 12. Mô tả bảng DM_LOAIHOCPHAN...............................................33 Bảng 13. Mô tả bảng DM_NGANHANG.....................................................33 Bảng 14. Mô tả bảng DM_QUOCTICH........................................................33 Bảng 15. Mô tả bảng DONVI........................................................................34 Bảng 16. Mô tả bảng HOCPHAN..................................................................34 Bảng 17. Mô tả bảng HOCVU_DK...............................................................35 Bảng 18. Mô tả bảng HOSO_CB...................................................................35 Bảng 19. Mô tả bảng HOSO_SV...................................................................36 Bảng 20. Mô tả bảng KHOAHOC.................................................................36 Bảng 21. Mô tả bảng KHUNG.......................................................................37 Bảng 22. Mô tả bảng LOP..............................................................................37 Bảng 23. Mô tả bảng LOPHOCPHAN..........................................................38 10 Bảng 24. Mô tả bảng LOPHOCPHANDIEM................................................38 Bảng 25. Mô tả bảng LOPHPDKTAMTHOI................................................38 Bảng 26. Mô tả bảng LOPHPNAMHOC......................................................39 Bảng 27. Mô tả bảng NGANH_CHUYENNGANH.....................................39 Bảng 28. Mô tả bảng NGUOIDUNG.............................................................39 Bảng 29. Mô tả bảng PHONGHOC...............................................................39 Bảng 30. Mô tả bảng THOIKHOABIE.........................................................39 DANH SÁCH TỪ VIẾT TẮT 11 Từ viết tắt Diễn giải JSP JavaServer Page ASP Active Server Pages CGI Common Gateway Interface HTML HyperText Markup Language JVM Java Vitual Machine HTTP HyperText Transfer Protocol IE Internet Explorer MCV Model – View – Controller GUI Graphical User Interface PHP Hypertext Preprocessor OS Operating System SQL Structured Query Language DBA DataBase Administrator ETL Electrical Testing Labs 12 Xây dựng hệ thống học tập và chuyên cần sinh viên MỞ ĐẦU 1. Tổng quan về đề tài Trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng được thành lập từ năm 2003, từ năm 2006 phương thức đào tạo theo hệ thống tín chỉ được áp dụng vào nhà trường. Nhà trường đã sử dụng các phần mềm quản lý tín chỉ nhưng chưa được hoàn thiện. Vì vậy vẫn đang trong quá trình xây dựng và bổ xung các chức năng. Quản lý đào tạo tín chỉ là một công việc rất phức tạp không thể thực hiện bằng tay. Cho đến thời điểm hiện tại, trường vẫn chưa có một phần mềm hay Website nào hỗ trợ cho việc học tập và chuyên cần sinh viên, việc quản lý sinh viên trong lớp học phần của giảng viên bộ môn vẫn thực hiện theo hướng thủ công, giảng viên chủ nhiệm và phụ huynh không thể biết được tình hình học tập của sinh viên, sinh viên cần biết rõ tình hình chuyên cần, kết quả học tập của bản thân để có hướng học tập tốt hơn. Sau khi tìm hiểu về hệ thống phần mềm quản lý đào tạo tín chỉ kết hợp với cơ sở dữ liệu sẵn có của nhà trường, nhận thấy việc xây dựng hệ thống quản lý học tập và chuyên cần sinh viên là khả thi và cần thiết. Em đã chọn đề tài đề tài "Xây dựng hệ thống học tập và chuyên cần sinh viên" với mong muốn đưa lĩnh vực công nghệ thông tin áp dụng vào thực tế. Các vấn đề quan trọng cần giải quyết trong đề tài:  Giảng viên bộ môn biết được thông tin lớp học phần mà mình giảng dạy để tiến hành điểm danh sinh viên theo thời khóa biểu.  Giảng viên chủ nhiệm nắm rõ thông tin các các sinh viên trong lớp sinh hoạt mà mình chủ nhiệm, thống kê chuyên cần sinh viên lớp sinh hoạt để có biện pháp xử lý đối với những sinh viên hay nghỉ học.  Sinh viên cần biết kết quả học tập, lịch học các môn mà mình đăng ký, nắm được tình hình chuyên cần bản thân để có hướng học tập tốt hơn.  Phụ huynh nắm được kết quả học tập, chuyên cần học tập của sinh viên để quan tâm và động viên sinh viên trong học tập. 2. Mục đích và ý nghĩa của đề tài SVTH: Trương Ngọc Phú - 11T2 Trang 1 Xây dựng hệ thống học tập và chuyên cần sinh viên 2.1. Mục đích Xây dựng website quản lý học tập và chuyên cần sinh viên cho Trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng, nhằm giúp giảng viên, phụ huynh giám sát được tình hình học tập của sinh viên, sinh viên nắm được lịch học, kết quả học tập và chuyên cần để có phương hướng học tập thật tốt. Hệ thống được xây dựng dành cho 3 đối tượng: giảng viên, sinh viên và phụ huynh bao gồm các chức năng chính sau. Đối với giảng viên:  Xem thông tin lớp học phần mà mình giảng dạy.  Xem thông tin lớp sinh hoạt.  Thống kê chuyên cần sinh viên của lớp sinh hoạt. Đối với sinh viên:      Xem thông tin cá nhân. Xem thông tin lớp sinh hoạt. Xem thông tin lớp học phần. Xem kết quả học tập. Xem chuyên cần bản thân. Đối với phụ huynh:  Xem kết quả học tập và rèn luyện của sinh viên.  Xem chuyên cần sinh viên. 2.2. Ý nghĩa  Đưa lĩnh vực công nghệ thông tin áp dụng vào thực tế.  Tạo mối liên hệ giữa sinh viên và giảng viên, sinh viên và phụ huynh.  Giúp cải thiện ý thức học tập của sinh viên. 3. Phương pháp thực hiện  Phương pháp nghiên cứu lý thuyết  Tìm hiểu thực tế tại phòng đào tạo Trường Cao đẳng Công nghệ Thông tin-Đại học Đà Nẵng.  Tìm hiểu nghiệp vụ thông qua sổ tay sinh viên của nhà trường.  Nghiên cứu và phân tích cơ sở dữ liệu của hệ thống để áp dụng vào đề tài.  Nghiên cứu tài liệu về phân tích và thiết kế hướng đối tượng. SVTH: Trương Ngọc Phú - 11T2 Trang 2 Xây dựng hệ thống học tập và chuyên cần sinh viên  Tìm hiểu, nghiên cứu các tài liệu liên quan, ngôn ngữ lập trình và công nghệ. Nắm rõ các công cụ hỗ trợ liên quan đến việc viết mã nguồn, công cụ sử dụng trong phân tích và thiết kế hệ thống.  Phương pháp nghiên cứu thực nghiệm     4. Phân tích yêu cầu thực tế của đề tài Phân tích thiết kế hệ thống cho đề tài Xây dựng chương trình và triển khai thử nghiệm. Đánh giá kết quả. Bố cục đồ án Chương 1. CƠ SỞ LÝ THUYẾT 1.1 . Giới thiệu về JSP và Servlet 1.2 . Mô hình MVC trong xây dựng ứng dụng web 1.3 . Hệ quản trị cơ sở dữ liệu MySQL Chương 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Phân tích yêu cầu 2.2. Sơ đồ ca sử dụng (USE CASE) 2.3. Sơ đồ hoạt động 2.4. Cơ sở dữ liệu 2.5. Sơ đồ lớp 2.6. Sơ đồ hoạt động Chương 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 3.1. Môi trường triển khai 3.2. Kết quả triển khai 3.3. Đánh giá và nhận xét KẾT LUẬN VÀ HỚNG PHÁT TRIỂN SVTH: Trương Ngọc Phú - 11T2 Trang 3 Xây dựng hệ thống học tập và chuyên cần sinh viên CHƯƠNG 1. CƠ SỞ LÝ THUYẾT Trong chương này, nội dung chính sẽ được trình bày cơ sở lý thuyết về ngôn ngữ lập trình, ứng dụng được triển khai trên môi trường web, sử dụng công nghệ JSPServlet, xây dựng ứng dụng theo mô hình MVC, hệ quản trị cơ sở dữ liệu MySQL 1.1. Giới thiệu về JSP và SERVLET 1.1.1. Tìm hiểu về JSP (JavaServer Page) Internet đã phát triển nhanh chóng, các Web server cần phải được thiết kế để có thể đáp ứng được nhiều kiểu yêu cầu hơn, Web server phải có khả năng tương tác với trình khách, xử lý dữ liệu do trình khách gửi đến, trả kết quả động tuỳ theo dữ liệu của trình khách yêu cầu. Các trang web với nội dung tĩnh giờ đây không còn đáp ứng được nữa. Cho đến giờ có rất nhiều công nghệ cho phép ta đưa ứng dụng vào chạy trong môi trường web như: ASP (Active Server Pages), CGI (Common Gateway Interface) v.v… trong số đó JSP/Servlet là công nghệ của Java. JSP (JavaServer Page) là công nghệ rất mạnh để tạo ra trang HTML về phía trình chủ. Đây là một kỹ thuật server-side do đó chúng ta không thể thực hiện bất kỳ hành động nào ở client. Kỹ thuật JSP là một thành phần trong đại gia đình Java, nó sử dụng ngôn ngữ kịch bản dựa vào ngôn ngữ lập trình Java, các trang JSP được biên dịch thành servlets. Từ đó chúng ta cũng nhận biết được, JSP thì không phụ thuộc bất kỳ nền (platform) nào. JSP là một cách đơn giản hóa hơn cho Servlet, là bước chuyển tiếp tiếp theo của Servlet trong ứng dụng Java. Nếu như đối với Servlet ta phải viết mã Java và biên dịch thủ công trước khi đưa vào sử dụng với trình chủ Web server thì JSP không cần điều này. JSP viết mã Java tương tự Servlet nhưng cho phép trộn lẫn Java với các thẻ định dạng HTML (HyperText Markup Language). Trình diễn dịch JSP sẽ chịu trách nhiệm kết hợp mã Java và thẻ HTML để tạo ra Servlet xử lý các yêu cầu mà trình khác gửi đến. Đối với trang JSP ta chỉ cần biên dịch một lần duy nhất sau đó giữ nguyên mã bytecode ở các lần thực thi kế tiếp. Chính vì lí do này trang JSP được xem là có tốc độ thực thi tương đương với Servlet và ưu điểm hơn hẳn các công nghệ xử lý trang động hiện hành như CGI hay ASP. JSP cho phép chúng ta tách thành phần động của trang ra SVTH: Trương Ngọc Phú - 11T2 Trang 4 Xây dựng hệ thống học tập và chuyên cần sinh viên khỏi thành phần tĩnh HTML. Rất đơn giản, chúng ta chỉ cần viết một tài liệu HTML bình thường rồi sau đó bao quanh mã của thành phần động trong các tag đặc biệt, bắt đầu với “<%” và kết thúc với “%>”. 1.1.1.1. Chu trình sống của JSP Trang Trang JSP có chu trình sống xác định tính từ khi hệ thống đọc biên dịch trang JSP, gọi thực thi và loại trang ra khỏi bộ nhớ. Chu trình sống trải qua các giai đoạn sau: Biên dịch trang JSP → Nạp trang → Khởi tạo → Thực thi → Dọn dẹp. Biên dịch trang JSP: Khi trình duyệt yêu cầu trang JSP, Web server sẽ kiểm tra trang JSP đã được biên dịch hay chưa. Nếu chưa biên dịch hoặc đã biên dịch nhưng trang JSP mới vừa thay đổi trong mã nguồn thì Web server sẽ thực hiện biên dịch trang JSP. Quá trình biên dịch trang JSP thực tế là chuyển trang JSP thành Servlet, file biên dịch *.class của trang sẽ được đặt trong thư mục đệm. Như vậy quá trình biên dịch chỉ diễn ra một lần. Nếu trang đã biên dịch mà sau đó không có thay đổi mã nguồn thì quá trình biên dịch lần sau sẽ không xảy ra, do đó tốc độ thực thi trang sẽ nhanh hơn. Sau khi trang đã được biên dịch, mã trang sẽ đƣợc nạp vào bộ nhớ để thực thi. Nạp trang: Từ giai đoạn này, trang JSP đã được biên dịch ra servlet cho nên việc nạp trang JSP cũng giống như nạp servlet. Để nạp servlet, trình chủ Web server cần phải biết tên của lớp servlet (file.class) cũng là tên mà trình duyệt dùng để triệu gọi servlet. Khi có một yêu cầu triệu gọi JSP, trình chủ Web server sẽ xem JSP đã nạp vào bộ nhớ hay chưa, nếu chưa có nó sẽ nạp vào bộ nhớ. Khởi tạo: Khi đã nạp mã thành công, Web server sẽ gọi đến phương thức khởi tạo trang. Mặc dù JSP được dịch ra servlet nhưng phương thức khởi tạo của JSP lại mang tên jspInit() chứ không phải là init(). Thực thi: Sau quá trình khởi tạo JSP sẽ gọi đến phương thức jspService(). Phương thức này sẽ cho ta hai lớp đối tượng, hai đối tượng: HttpServletRequest và HttpServletResponse để đọc và ghi kết xuất trả về trình khách. Dọn dẹp: Khi trang JSP đã thực thi xong, trình chủ Web server sẽ gọi phương thức jspDestroy() để giải phóng mã trang ra khỏi bộ nhớ. SVTH: Trương Ngọc Phú - 11T2 Trang 5 Xây dựng hệ thống học tập và chuyên cần sinh viên 1.1.1.2. Cơ chế hoạt động của trang JSP Hình 1.1 Cơ chế triệu gọi trang JSP Servlet đưa mã HTML vào lệnh Java trong khi ngược lại JSP đưa lệnh Java vào các mã HTML. Các trang JSP chứa các thẻ đặc biệt quy định gần giống thẻ của ngôn ngữ HTML. Khi từ trình duyệt gởi yêu cầu một trang JSP, trình chủ Web Server sẽ đọc trang JSP từ đĩa cứng, bộ diễn dịch JSP Engine (thường được cài đặt trong các trình chủ Web Server) sẽ diễn dịch mã lệnh Java chứa trong trang JSP thành một servlet. Sau đó trình chủ sẽ triệu gọi servlet trả kết xuất thuần HTML về cho trình khách. 1.1.1.3. Cú pháp cơ bản của JSP Thẻ bọc mã <% %> hay : ưu điểm của trang JSP là khả năng nhúng mã Java giữa các thẻ định dạng HTML. Khi gặp thẻ <% bộ diễn dịch JSP sẽ biết được lệnh cần thực hiện tiếp theo là mã lệnh Java. Hiển thị kết xuất bằng cú pháp <%= %>: Thay vì sử dụng cú pháp <% %> để diễn đạt một khối gồm nhiều lệnh ta có thể sử dụng cú pháp <%= %> chỉ để hiển thị kết xuất của một giá trị biến hay một biểu thức, hàm nào đó. JSP không dùng dấu (;) ở cuối các biến hoặc biểu thức gọi hàm trong cú pháp <%= %>, bởi vì nội dung của cú pháp này sẽ được chuyển thành lệnh out.println(). Chèn chú thích vào mã trang JSP: Cũng như Java, JSP cho phép ta dùng cú pháp // để chú thích một dòng mã lệnh và cú pháp /* */ được áp dụng cho nhiều dòng. Các dòng chú thích sẽ được bỏ qua khi trình chủ diễn dịch trang JSP. Ngoài ra JSP còn cung cấp thêm cho ta cú pháp chú thích <%-- --%>. Tất cả khối lệnh Java và HTML nằm giữa hai dấu chú thích này sẽ được trình biên dịch bỏ qua. SVTH: Trương Ngọc Phú - 11T2 Trang 6 Xây dựng hệ thống học tập và chuyên cần sinh viên Thẻ :Chỉ thị <%@ include %> chỉ dùng để nhúng các mã nguồn tĩnh. Nếu muốn nhúng kết quả kết xuất từ các trang .jsp, servlet hay .html khác vào trang hiện hành JSP cung cấp cho ta thẻ với cú pháp sau: . Thẻ chỉ dẫn biên dịch trang <%@ page %>: Thẻ <%@ page %> chỉ dẫn một số tính chất biên dịch áp dụng cho tồn trang jsp. Ta có thể sử dụng thẻ này để khai báo các thư viện import của Java, chỉ định tùy chọn trang jsp có cần giữ trên cache bộ nhớ của trình chủ để tăng tốc hay không. Chuyển hướng sang trang mới: Thẻ giúp ta triệu gọi và chuyển hướng trang web sang địa chỉ khác hoặc chuyển dữ liệu cho trang jsp khác xử lý, với sendRedirect() cũng có chức năng giống như thẻ . Nhưng nó khác nhau ở chỗ là sendRedirect() chỉ thực hiện triệu gọi trang mà không chuyển tham số của trang hiện hành cho trang chuyển hướng. Hành động có thể chứa . Khi các hành động này thực hiện thì sẽ kết thúc trang hiện hành. Những thẻ này cung cấp tham số yêu cầu cho việc chuyển hướng. 1.1.2. Tìm hiểu về servlet Hiện nay, trong lập trình có một xu hướng rất quan trọng đang được tập trung phát triển, đó là xây dựng các chương trình dịch vụ Java ở phía máy chủ. Servlet là thành phần chính được sử dụng để phát triển các chương trình dịch vụ Java ở phía máy chủ. Các Servlet là các chương trình Java thực hiện ở các ứng dụng Server (tên gọi “Servlet” cũng gần giống như “Applet” ở phía máy Client) để trả lời cho các yêu cầu của Client. Các Servlet không bị ràng buộc chặt với một giao thức Client-Server cụ thể nào cả, giao thức thường được sử dụng là HTTP, do vậy, khi nói tới Servlet nghĩa là nói tới HTTP Servlet. Servlet là sự phát triển mở rộng của CGI để đảm bảo Server thực hiện được các chức năng của mình. Ta có thể sử dụng Servlet của Java để tùy chỉnh lại một dịch vụ bất kỳ, như Web Server, Mail Server. Một servlet là một lớp Java và vì thế cần được thực thi trên một máy ảo Java (JVM – Java Vitual Machine) bằng một dịch vụ gọi là servlet engine. Servlet engine tải lớp servlet lần đầu tiên được yêu cầu, hoặc ngay khi servlet engine được bắt đầu. Servlet ngừng tải để xử lý nhiều yêu SVTH: Trương Ngọc Phú - 11T2 Trang 7
- Xem thêm -

Tài liệu liên quan