Báo cáo Lập trình mạng GVHD: TS.. Báo cáo sẽ giúp sinh viên hiểu rõ hơn về lý thuyết môn học Lập trình mạng đã được học.. Đây là một báo cáo quan trọng giúp chúng em thống kê lại những k
Trang 1ĐẠI HỌC DA NANG DAL HQC BACH KHOA KHOA CONG NGHE THONG TIN
pea
BAO CAO LAP TRINH MANG
Đề tài : Quản lý thư viện sử dụng mô hình MVC
GIẢNG VIÊN HUONG DAN: TS.Pham Minh Tuan SINH VIEN THUC HIEN — : Lé Xuan Manh
Da Nang 12-2020
Trang 2Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
LOI MO DAU
Trong ngành công nghệ thông tin nói chung, có rất nhiều môn học bô ích mà sinh viên khám phá, học hỏi, trang bị những kiến thức phục vụ cho nhụ cầu của lập trình vién sau nay M6t trong số đó có Lập trình mạng, một môn học nền tang ma tat ca sinh viên trone ngành thực hiện để có những kĩ năng tiếp cận với chuyên ngành của mình một cách dễ dàng hơn Báo cáo sẽ giúp sinh viên hiểu rõ hơn về lý thuyết môn học Lập trình mạng đã được học
Đối với đồ án lần này, dé tài chúng em tìm hiểu là lập trình JSP/Servlet theo mô hình MVC Đây là một báo cáo quan trọng giúp chúng em thống kê lại những kiến thức về môn đã học và đang hoàn thành, tìm hiểu sâu hơn và vận dụng để viết các chương trình ứng dụng thực tế
Qua báo cáo này em xin chân thành cảm ơn thầy Phạm Minh Tuần đã nhiệt tinh giảng dạy bộ môn Lập trình mạng, giúp em hiểu rõ hơn về lập trình mạng và cách thức
hoạt động của nó
Vì kiến thức còn hạn hẹp, nên không thể tránh khỏi những sai sót trong quá trình làm đề tai, rất mong nhận được sự góp ý của các thầy để sản phầm được hoàn thiện hơn
Em xin chân thành cảm ơn!
Sinh viên
Lê Xuân Mạnh
Trang 3
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
MUC LUC
LOI MO DAU ecccccccsscsscssesscssessssessessnssesevssnsersersessecsessnsessensassussessnsssensavsussevsnssesensenees 1 MUC LUC cccccccccsesccssesessessessesscsevsrssussessessnsersevsussessnsssessensessussessnssnsensevsvsesavsnsaveveeses 2
1.1 _ Lập trình JSP ServÏet - 2 221112111211 2211211 1111111111212 1011181111111 1xx 3
1.1.2 Servlet cece ceeeececceeseesesceseeesssesecsesestseseeseesesettttsesesessetteeesseseeses 3
12 MO hinh MVC ccccccceccessescseesessessessesecsecsessessessessnsessevsssissesetsessevsessnseres 3
LQ GiGi thiGue icici ccccccecseseessesecsecstssessessesessersesstsevssesessseessnssesensevseseveees 3 1.2.2 Cau tric m6 hinhi ccc ccccccccsessesessesessesecsesevseseesessesevevsessecsvevsesesereees 4
2 PHAN TICH THIET KE HE THONG cccccccccsscsccssvsessssessesevssvsecsessesstssesenesseees 4
2.2 Sơ đồ tổng quát chức năng - 5-51 1T 1112111112111 121 1211 xu 4
2.3 _ Thiết kế hệ thống S221 2221111111211 1121211121211 1112 5
2.3.1 Servlet cece ceeeececceeseesesceseeesssesecsesestseseeseesesettttsesesessetteeesseseeses 5
2.3.2 VSP iiccccccccsessessesesseesessessessesseseesevsssevsesssenssesessessessessessnsassrsessessesenansesees 6
2.3.3 e ri ccccccccccccensecsceccceensnnseccecesnrsececsestasseeeeeeseeeeeeeseseeeess 6
3 TRIÊN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ - 5s 22 212121211111127221 1t rrreg 7
3.1 Ngôn ngữ và môi trường cải đặt - - 0 20 2111221122112 1 1911111111111 c2 7 3.2 _ Kết quả chương trình + 2s 21111211 112112112112.121211 21211211 7
3.3 Đánh giá và hướng phát triễn 2-5 21221 11521121271112121121211 1111212 e2 10
TAI LIEU THAM KHẢO -á- 5c 2122111111 11211112112121111 21212211 EEerrea 10
Trang 4
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
1 COSO LY THUYET
1.1 Lap trinh JSP Servlet
LUI JSP
JSP là viết tắt của JavaServer Pages là một công nghệ đề phát triển các trang web động JSP giúp các nhà phát triển chèn java code vảo các trang HTML bằng cách sử dụng các thẻ JSP đặc biệt JSP là một kiểu Java servlet được thiết kế để tạo ra giao diện người dùng cho một ứng dụng Java web Cac nha phat triển web viết các JSP như các tệp văn bản kết hợp mã HTML hoặc XHTML, các phần tử XML, các action và
lệnh JSP
1.1.2 Servlet
Servlet chính là công nghệ được dùng để thiết lập ra các ứng dụng web Servlet được xem là một API cung cấp cac interface, lop và cả các tài liệu Servlet cũng là một thành phần website được lập trinh viên triển khai trên máy chủ, phục vụ cho mục đích tạo các trane web động Với Servlet, bạn được phép thu thập dữ liệu đầu vào của người dùng thông qua website Cụ thế, chúng sẽ hiển thị bản ghi từ một nguồn cơ sở
dữ liệu hay từ nguồn khác
Java Servlet la chương trình chạy trên một Web hoặc ứng dụng máy chủ
(Application Server) Nó hoạt động như một lớp trung gian giữa một yêu cầu đến từ một trình duyệt Web hoặc HTTP khách (Client) khác và cơ sở dữ liệu hoặc các ứng dung trén may chu HTTP (HTTP Server)
1.2 Mô hình MVC
1.2.1 Giới thiệu
MVC là từ viết tắt của 'Model View Controller Nó đại điện cho các nhà phát triển kiến trúc áp dụng khi xây dựng các ứng dụng Với kiến trúc MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến cách luồng đữ liệu của ứng dụng của chúng ta hoạt động như thế nào
MODEL VIEW CONTROLLER PATTERN
Controlle
c®*
&
Res, hes
Hinh 1 M6 hinh MVC
Trang 5Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
1.22 Cấu trúc mô hình
a) Các thành phần trong mô hình MVC
Mô hình MVC được chia làm 3 lớp xử ly g6m Model — View — Controller :
-_ Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quan tri co
sở đữ liệu (mysql, mssql ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm — xóa — sửa đữ liệu
- View : là nởi chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giup nguoi dung tương tác với hệ thông
- _ Controller : là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó
sé g6m những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng đữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị đữ liệu đó ra cho người dùng nhờ lớp View
b) Sự tương tác giữa các thành phân
Mô hình MVC được chia làm 3 lớp xử ly g6m Model — View — Controller :
- _ Controller tương tác với qua lại với View
- Controller trong tac qua lai v61 Model
- Model va View kh6ng co sự tương tác với nhau mà nó tương tác với nhau
thông qua Controller
2 PHAN TÍCH THIẾT KẾ HỆ THÓNG
2.1 Yêu cầu bài toán
Xây dựng hệ thống quản lý thư viện theo mô hình MVC sử dụng lập trình JSP/Servlet
2.2 Sơ đồ tổng quát chức năng
Hệ thống quản lý thư viện
Hiện thị danh sách
` nhập = thư viện
¬ " NL
Quan ly muon AC tin ="
¬
sách Ÿš>==«„<<include> —
<<include>> ee - ~ _7
——
Hình 2 Sơ dé Usecase tông quái
Trang 6
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn 2.3 Thiét ké hé thong
a) Package Model.Controller
Class UserManual : Hướng dẫn sử dụng
Class AddBook : Thêm sách vào thư viện
Class AddCategory: Thêm thể loại sách Class ConfirmReader: Xác nhận trả mượn sách
Class CookieFilter: Xử lý cookie của hệ thông
Class DeleteBook: Xóa sách khỏi thư viện
Class DeleteCatepory: Xóa thể loại
Class EditBook: Chỉnh sửa sácch Class EditCategory:Chinh stra thé loại Class Login: Xu ly dang nhap Class Logout:Xử lý đăng xuất Class ManageBook: Hién thi danh sách sách thư viện
Class ManageCategory: Hién thi danh sach thé loai Class ManapeReader: Hiện thị danh sách người đọc Class SearchBook: Xử lý tìm kiếm sách
Class SearchReader: Xử lý tìm kiếm người mượn sách
b) Package Model.Bean
Class Book: Khởi tạo đối tượng sách Class Catepory: Khởi tạo thể loại
Class Reader: Khởi tạo đối tượng người mượn sách Class User: Khởi tạo đối tượng người dùng c) Package Model.BO
Class BookBO Class CategoryBO Class ReaderBO Class UserBO Class GetCookie d) Package Model DAO
Class ConnectDatabase: Két néi database
Trang 7
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn -_ Class BookDAO: Xử lý thông tin dữ liệu sách va database
- Class CateporyDAO: Xử lý thông tin dữ liệu thê loại và database
-_ Class ReaderDAO: Xử ly thông tin đữ liệu người mượn sách và database
- Class UserDAO: Xử lý thông tin dữ liệu người dùng va database
Tat ca cac file JSP nam trong thu myc WebContent, myc dich hién thi giao dién tương tác với người dùng
2.3.3 Database
Pid INT Vid INT Vid INT
name VARCHAR(250) Ị ® name VARCHAR(250) ® username VARCHAR(250)
I
* category_id INT J > password VARCHAR(250)
2create_day TIMEST AMP
—_.¿
Vid INT
> name VARCHAR(250)
® book_id INT
f~~— ——— — —< ` id=mtty_card VARCHAR(15)
+ stat_day TIMEST AMP
>end_ day TIMEST AMP
4 status BIT (1)
>
Hình 3 Cấu trúc database của hệ thống
Trang 8
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
3 TRIEN KHAI VA DANH GIA KET QUA
3.1 Ngôn ngữ và mỗi trường cài đặt
Chương trình được viết bằng ngôn ngữ Java theeo mô hình MVC, chạy trên Eclipse 6 moi trong Windows Su dung co so dit ligu MySql dé két néi database 3.2 Kết quả chương trình
%a# ElRhñn9o©sœ+€®
Hướng dẫn sử dụng trang web
~ Muốn sử dụng trang web này thì đầu tiên bạn căn đăng nhập Tân tài khoản: nobita, Mật khẩu: doraemon
~ Các chức năng của trang web là quản lý sách và quản lý mượn sách
1 Quản lý sách
~ Muốn xem danh sách trong thư viện chọn Quản lý sách -> Danh sách
~ Trong mục danh sách:
1 Muốn tìm kiếm sách trong danh sách thì gõ vào ô Tìm liếm và nhấn enter
2 Muốn chỉnh sửa thông tin sách nào thì nút Chỉnh sửa-> Chỉnh sửa những thông tin cần thiết-> Nhãn Lưu-> nhãn Hủy đế trở lại danh sách
3 Muốn xóa sách nào thì bạn chọn nút Xóa tương ứng của sách đó Có thông báo xác nhận hiện ra Chọn Xóa để xóa vĩnh viễn hoặc chọn Hủy để hủy thao tác xóa
4 Muốn xóa tất cả thì chọn nút Xóa tất cả
~ Muốn thêm sách thì chọn Quản lý sách -> Thêm sách -> Điền những thông tin cần thiết , chọn thể loại sách và hình ảnh tương ứng-> Nhấn Lưu để lưu lại và nhấn Hùy để trở lại danh sách
~Muốn xem thể loại sách thì chọn Quản lý sách -> Thế loại
~Trong mục thể loại, muốn thêm thể loại thì chọn thêm thể loại, muốn chỉnh sửa chọn chỉnh sửa, muốn xóa thì chọn nút Xóa
II Quản lý mượn sách
~ Muốn thêm người mượn thị chọn Quản lý mượn sách->Thêm người mượn sách
Hình 4 Giao điện hướng dẫn sử dụng trang quản lý thư viện
ane! x
“Qr OS O9705% @
Tén dang nhap
nobita
Mật khẩu
Nhớ tài khoản
Chú ý: Tên đăng nhập: nobita, mật khẩu: doraemon
Hình 5 Giao điện đăng nhập
Trang 9
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
( Quản lý thư việ x + = a
‹ Œ O_ © loalhost/Manageook a#ứ# 8Aañn9es*+®
STT Tên Thể loại Sốlượng Mgàynhập Hìnhảnh Chỉnh sửa xóa
1 MậtthƯ Khoa học kỹ thuật 4 26/11/2020 a mm
Xem chỉ tiết
2 Hạnh Phúc Thật Giản Đơn Tâm Lý - Kỹ Năng Sống 1 19/11/2020
3.“ TWT6t Bn Vidal Kinh Tế Quản Lý 4 19/11/2020 ho mm
4 MặtTrờiVà Con Người Tâm Lý - Kỹ Năng Sống 1 19/11/2020 3 mm m
Xem chỉ tiết
5 Hands on machine learning with scikitlearn Lập Trình 2 19/11/2020 mm
Hình 6 Giao điện hiện thị danh sách sách trong thư viện
‹ CO © lealhhos/Adifss ar DSOI9VORs*
Nhập tên sách
|= ee eel)
Thé loai
Tam Lý - Kỹ Năng Sống v
Số lượng
1
Thêm ảnh bìa
Browse
a
Hình 7 Giao điện thêm sách vào thư viện
Trang 10
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn
Nhập tên sách
Bw
aL
2 Thể loại
Số lượng
1
Thêm ảnh bìa
Browse
Hình 8 Giao điện chh sửa sách
© Quản lý tư viện x + - na x
‹ C O_ © loalhos/ManageBook Qr 207° R% @
Chú ý
Bạn có muốn chắc xóa cuốn sách 'Mật thư"
Hình 9 Giao điện xác nhận xóa sách
"Book Qar OF O09 Ces &
Œ OQ OO boaalhost/s
gle a h 81 GB Engisn @ ph @ AT & B Comp a la
= ing da Danh sach sach trong thu vién la|
kết quả tìm kiếm cho từ khóa '360!
_ T17.) se STT Tên Thế loại ais Số lượng # Ngày nhập ˆ a Hình ảnh Đua Chỉnh sửa DỐI Bể Xóa ˆ
© banh sách
1 360 Động Từ Bắt Quy Tắc Đầy Đủ Ngoại Ngữ 5 19/11/2020 B mm" ma
Xem chỉ tiết
Hiện thị 1 đến 1 của 1 Trước H Sau
Hình 10 Giao điện tìm kiếm cho từ khóa '360'
Trang 11
Báo cáo Lập trình mạng GVHD: TS Pham Minh Tuấn 3.3 Đánh giá và hướng phát triển
a) Ưu điểm
- Chương trình có thé chạy tương đối trên hầu hết các trình duyệt, có sử dụng truy vẫn cơ sở dữ liệu
- Chương trinh được viết bằng JSP/Servlet theo mé hinh MVC
- Chương trinh đã trinh bày mô hình hoạt động của một ứng dụng Quản lý thư viện với ø1ao diện dễ nhìn, dễ sử dụng
- _ Giao diện đơn giản đề sử dụng, có hướng dan cụ thê
Nhược điểm
œ —
- Chvuong trinh con đơn giản
- Con thiéu xot trong xtr ly bat lỗi các trường ngoại lệ trone một số chức năng
của chương trình
c) Hướng phát triển
- _ Cải tiến giao dién dé dang str dung hon
- Bat 1éi chat hon trong chuong trinh
4 KÉT LUẬN
Qua báo cáo cuối kỳ lập trình mạng này đã giúp em nghiên cứu sâu hơn về lập
trình JSP/Servlet, hiểu rõ về cấu trúc của một chương trình MVC Báo cáo đã giúp củng cô, bô sung thêm kiến thức và luyện tập khả năng lập trình ngôn ngữ Java
Vì thời gian nghiên cứu không nhiều, điều kiện không cho phép và khả năng còn hạn chết nên kết quả thu được có thế có những thiếu sót không mong muốn, kính mong sự góp ý từ thầy đề hoàn thiện chương trình tốt hơn Em xin chân thành cảm ơn
thầy đã tạo điều kiện cho em có cơ hội đề thực hiện báo cáo này
TÀI LIỆU THAM KHẢO
[1] https:⁄blog.tinohost.com/1sp-servlet-la-p1/
[2] https://vibl
[3] SourceCode https://github.com/lemanh99/QuanLy Thu Vien