Tổng quan về đề tài Ngày nay, ngành công nghiệp Công nghệ thông tin đang được áp dụng trên mọi lĩnh vực nghiên cứu khoa học cũng như đời sống, máy tính trở thành người bạn cũng như một
Trang 2MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 4
CHƯƠNG 1: GIỚI THIỆU 6
1 TỔNG QUAN VỀ JSP/SERVLET 6
2 CÔNG CỤ VÀ NGÔN NGỮ SỬ DỤNG 6
3 KẾT CHƯƠNG 12
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13
2.1 TỔNG QUAN 13
2.2 ĐÁNH GIÁ HỆ THỐNG 13
2.3 YÊU CẦU 13
2.4 PHÂN TÍCH HỆ THỐNG 14
2.5 THIẾT KẾ HỆ THỐNG 16
CHƯƠNG 3: KẾT QUẢ THỰC HIỆN 17
3.1 DEMO CÁC CHỨC NĂNG HIỆN CÓ CỦA WEBSITE 17
3.2 KẾT QUẢ ĐẠT ĐƯỢC 25
3.3 HƯỚNG PHÁT TRIỂN 25 PHỤ LỤC 26
Trang 3DANH SÁCH HÌNH ẢNH
Hình 1 : Phân công nhiệm vụ 12
Hình 2: Usercase phần admin 15
Hình 3: Usecase phần người dùng 15
Hình 4 : Usecase phần người dùng chưa đăng nhập 16
Hình 5: Cơ sở dữ liệu 16
Hình 6: Hiển thị trang chủ phần public 17
Hình 7: Hiển thị chi tiết bài hát 17
Hình 8: Phần bình luận của người dùng 18
Hình 9: Trang dành cho admin 18
Hình 10: Phần quản lý danh mục 19
Hình 11: Thêm danh mục 19
Hình 12: Sửa danh mục 20
Hình 13: Hiển thị danh sách bài hát 20
Hình 14: Thêm bài hát 21
Hình 15: Sửa bài hát 21
Hình 16: Quản lý người dùng 22
Hình 17: Thêm người dùng 22
Hình 18: Sửa người dùng 23
Hình 19: Quản lý liên hệ 23
Hình 20: Quản lý slide 24
Trang 4DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt Diễn giải
IP Internet Protocol
MD5 Message-Degist Algorithm 5
SHA Secure Hash Algorithm
API Application Programming Interface
URL Uniform Resource Locator
Trang 5MỞ ĐẦU
1 Tổng quan về đề tài
Ngày nay, ngành công nghiệp Công nghệ thông tin đang được áp dụng trên mọi lĩnh vực nghiên cứu khoa học cũng như đời sống, máy tính trở thành người bạn cũng như một công cụ đắc lực cho con người trong việc lưu trữ, thiết kế, xử lý thông tin và giải trí Web là một lĩnh vực không thể không nhắc đến, ngành công nghiệp web đang được xây dựng và phát triển vững chắc nhằm đưa cho chúng ta một trữ lượng thông tin trực tuyến online nhanh chóng mà cực kỳ lớn và cũng là nơi giải trí tiện lợi và nhanh chóng nhất Tiêu biểu như các web game, phim, nhạc, mạng xã hội …
Trong đó đồ án này, với mục đích xây dựng một hệ thống nghe nhạc trực tuyến đáp ứng như cầu nghe nhạc cao và sử dụng internet của xã hội, nhóm chúng em đã xây dựng một trang web cho phép người dùng có thể truy cập vào để nghe nhạc trực tuyến giải trí thông qua mạng Internet khi đó chúng ta có thể nghe nhạc mọi lúc mọi nơi Web nghe nhạc trực tuyến là lựa chọn hữu ích để đáp ứng những nhu cầu giải trí của mọi người.Hệ thống được lập trình bằng ngôn ngữ Java và hệ QTCSDL MySQL cùng nhều ngôn ngữ bộ trợ khác Hệ thống đã được thử nghiệm và bước đầu hoạt động ổn định trên mạng LAN
Trang 62 Mục đích và ý nghĩa của đề tài
2.1 Mục đích
Cung cấp kho video âm nhạc hay và hot cho người xem
Cung cấp đến người xem nhiều thể loại nhạc đa dạng
Nắm vững được kiến thức cơ bản về lập trình JSP/Servlet và các ngôn ngữ lập trình web khác (CSS, HTML, JAVASCRIPT , )
Biết thêm cách và kiến thức để xây dựng một dự án
Cải thiện kỹ năng làm việc nhóm
Phát triển website với quy mô lớn hơn để đáp ứng với nhu cầu thực tế hiện nay
2.2 Ý nghĩa
Dịch vụ giải trí tiện lợi nhất thông qua internet
Phát triển ngành công nghiêp Công nghệ thông tin nói chung hay công nghiệp web nói riêng
Cung cấp các phim chất lượng nhất cho người xem và đảm bảo chất lượng và miễn phí
3 Phương pháp thực hiện
Phương pháp phân tích thiết kế hệ thống
4 Bố cục của đề tài: Báo cáo đề tài bao gồm các nội dung sau:
Mở đầu
Chương 1: GIỚI THIỆU
Chương 2: TRÌNH BÀY VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương 3: KẾT QUẢ THỰC HIỆN
Kết luận và hướng phát triển
Trang 7CHƯƠNG 1: GIỚI THIỆU
1 TỔNG QUAN VỀ JSP/SERVLET
JSP: (viết tắt của tiếng Anh JavaServer Pages) còn
được biết đến với một cái tên khác là Java Scripting
Preprocessor – tạm dịch là “Bộ tiền xử lý văn lệnh
Java” – là một công nghệ Java cho phép các nhà phát
triển tạo nội dung HTML, XML hay một số định dạng
khác của trang web một cách năng động, trong khi hồi
âm yêu cầu của trình khách Công nghệ này cho phép
người ta nhúng mã Java và một số hành động xử lý đã
được định trước (pre-defined actions) vào trong nội
dung tĩnh của trang
Java Servlet: là các chương trình chạy trên một Web server hoặc một Application
server và thực hiện như là một tầng trung gian giữa một Yêu cầu từ một trình duyệt web hoặc HTTP client với các Database hoặc các ứng dụng trên HTTP server
Sử dụng Servlets, bạn có thể thu thập Input từ người sử dụng thông qua các form trên trang web, hiển thị các bản ghi (record) từ một Database hoặc từ nguồn khác, và tạo các trang web động
Java Servlets thường có chung mục đích: là các chương trình độc lập bởi việc
sử dụng Common Gateway Interface (CGI) Nhưng so với CGI, thì Servlets có các lợi thế sau:
Hiệu năng tốt hơn đáng kể
Servlets thực thi bên trong không gian địa chỉ của một Web server, không cần thiết phải tạo một tiến trình riêng biệt để xử lý mỗi yêu cầu từ Client
Servlets là độc lập trên nền tảng bởi vì chúng được viết bằng Java
Bởi vì viết bằng Java (mà Java cung cấp tình bảo mật cao trên Server) nên Servlets là đáng tin cậy
Nhiệm vụ của Servlet:
Servlets thực hiện các tác vụ chủ yếu sau:
Đọc dữ liệu hiển thị (explicit) được gửi bởi Client (hoặc trình duyệt) bao gồm một HTML Form trên một trang web hoặc nó cũng có thể từ một Applet hoặc một chương trình Custom từ HTTP Client
Trang 8 Đọc dữ liệu yêu cầu HTTP ẩn (implicit) được gửi bởi Client (hoặc trình duyệt) bao gồm cookie, các loại media
Xử lý dữ liệu và cho ra kết quả Tiến trình này có thể yêu cầu Database, đang thực thi một triệu hồi tới RMI hoặc CORBA, triệu hồi một Web Service, hoặc tính toán phản hồi một cách trực tiếp
Gửi dữ liệu hiển thị (ví dụ: tài liệu) tới các Client (hoặc trình duyệt) Tài liệu này có thể được gửi theo nhiều định dạng khác nhau, gồm text (HTML hoặc XML), nhị phân (hình ảnh GIF), Excel, v.v
Gửi phản hồi HTTP ẩn tới các Client (hoặc trình duyệt), thông báo cho trình duyệt hoặc Client về kiểu của tài liệu được trả về (ví dụ: HTML), thiết lập các Cookie và Caching các tham số, cùng các tác vụ khác
Tính năng đầy đủ của thư viện của các lớp trong Java là luôn luôn có sẵn cho Servlets Nó có thể giao tiếp với Applet, Database hoặc phần mềm khác thông qua các Socket và kỹ thuật RMI mà bạn đã từng thấy Servlet API, được chứa trong gói Java kế thừa từ Bản mẫu: Javadoc:EE, định nghĩa những tương tác cần thiết giữa một Web container và một servlet A Web container là một thành phần cơ bản và cần thiết của Web Server để tương tác với các Servlet The Web container chịu trách nhiệm quản lý vòng đời của các Servlet, ánh xạ đường dẫn đến một Servlet cụ thể và đảm bảo rằng có thể truy cập vào
Ưu điểm của JSP/SERVLET
Cho phép chúng ta thiết kế giao diện web dễ dàng hơn
JSP có thể cho phép chúng ta tạo nên những trang web động
Có thể viết một nơi và chạy bất cứ nơi nào
Nhược điểm
Nhìn chung thì việc thiết kế giao diện bằng JSP vẫn còn nhiều khó khăn
Tiêu tốn dung lượng lưu trữ phía server gấp đôi
Lần đầu tiên truy cập vào trang JSP sẽ mất nhiều thời gian chờ
Sử dụng JSP/SERVLET vì:
Đơn giản vì Servlet không cho phép nhúng trực tiếp mã HTML, CSS,
XML vào trong Class của nó
JSP tuy có ưu điểm là nhúng được mã Java vào trong nó nhưng khi một ứng dụng Web được mở rộng thêm thì JSP trở nên rối rắm, khó quản lí
và bảo mật kém hơn - khi 1 số mã JSP có thể bị đọc bởi Client
Trang 92 CÔNG CỤ VÀ NGÔN NGỮ SỬ DỤNG
ECLIPSE
Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM
Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta
có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE-
Plug-in Development Environment) Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java Ví dụ, Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ lập trình như C/C + + và COBOL Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP, Groovy,
Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib hỗ trợ phát triển phần mềm
HTML
Ngôn ngữ đánh dấu siêu văn bản (html) chỉ rõ một trang Web sẽ được hiển thị như thế nào trong một trình duyệt Sử dụng các thẻ và các phần tử html, bạn có thể: Điều khiển hình thức và nội dung của trang
Xuất bản các tài liệu trực tuyến và truy xuất thông tin trực tuyến bằng cách sử dụng các liên kết được chèn vào tài liệu html
Tạo các biểu mẫu trực tuyến để thu thập thông tin về người dùng, quản lý các giao dịch
Chèn các đối tượng như audio clip, video clip, các thành phần ActiveX, Flash
và các Java Applet vào tài liệu html
Tài liệu html tạo thành mã nguồn của trang Web Khi được xem trên trình soạn thảo, tài liệu này là một chuỗi các thẻ và các phần tử, mà chúng xác định trang web hiển thị như thế nào Trình duyệt đọc các file có đuôi htm hay html và hiển thị trang web đó theo các lệnh có trong đó HTML là kiến thức cơ bản mà bất cứ ai muốn học lập trình web hoặc học thiết kế web đều phải biết
Tất cả các trang web dù xử lý phức tạp đến đâu đều phải trả về dưới dạng mã nguồn HTML để trình duyệt có thể hiểu và hiển thị lên được
Trang 10CSS
CSS là chữ viết tắt của Cascading Style Sheets, nó chỉ
đơn thuần là một dạng file text với phần tên mở rộng là css
Trong Style Sheet này chứa những câu lệnh CSS Mỗi một lệnh
của CSS sẽ định dạng một phần nhất định của HTML ví dụ
như: Font của chữ, đường viền, màu nền, căn chỉnh hình ảnh
Trước đây khi chưa có CSS, những người thiết kế web
phải trộn lẫn giữa các thành phần trình bày và nội dung với
nhau Nhưng với sự xuất hiện của CSS, người ta có thể tách rời
hoàn toàn phần trình bày và nội dung Giúp cho phần code của
trang web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa
Write less, do more
JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax Với jQuery, khái niệm Rapid Web Development đã không còn quá xa lạ
JQuery là một bộ công cụ tiện ích JavaScript làm đơn giản hóa các tác vụ đa dạng với việc viết ít code hơn
Có thể làm việc ở bất cứ đâu vì chỉ cần clone mã nguồn từ kho chứa hoặc clone một phiên bản thay đổi nào đó từ kho chứa, hoặc một nhánh nào đó từ kho chứa Dễ dàng trong việc deployment sản phẩm
Trang 11XAMPP
Xampp là chương trình tạo máy chủ Web (Web Server)
được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail
Server và các công cụ như phpMyAdmin Không như Appserv,
Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động
bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache
Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho những đối tượng sử dụng ngôn ngữ PHP và Perl Xampp là viết tắt của Cross-Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP(P) và Perl (P) Nó phân
bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình Tất cả mọi thứ cần cho phát triển một trang web - Apache ( ứng dụng máy chủ), Cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) được gói gọn trong 1 tệp Xampp cũng là 1 đa nền tảng vì nó có thể chạy tốt trên cả Linux, Windows và Mac Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển từ máy chủ local sang máy chủ online
PHP MYADMIN
phpMyAdmin là một công cụ nguồn mở miễn phí được
viết bằng PHP dự định để xử lý quản trị của MySQL thông qua
một trình duyệt web Nó có thể thực hiện nhiều tác vụ như tạo,
sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản
ghi; thực hiện báo cáo SQL; hoặc quản lý người dùng và cấp
phép
Trang 12Phân công nhiệm vụ
Nguyễn Minh Hoàng (nhóm trưởng)
- Thiết kế giao diện phần admin
- Thiết kế database cho bài toán
- Hoàn thiện báo cáo lần thứ nhất
- Hoàn thiện báo cáo cuối
- Chức năng quản lý danh mục
- Chức năng quản lý bài hát
- Chức năng quản lý slide
- Hoàn thiện báo cáo lần thứ nhất
- Viết báo cáo , slide cuối
- Chức năng quản lý liên hệ
- Hiển thị danh sách các bài hát, chi tiết bài hát ở phần public
Chi tiết về phân công nhiệm vụ :
Trang 13Hình 1 : Phân công nhiệm vụ
3 KẾT CHƯƠNG
Chương đã giới thiệu sơ lược về ngôn ngữ java jsp/servlet Tổng quan
về các ngôn ngữ lập trình sẽ được sử dụng vào dự án cùng các công cụ phụ trợ khác (xampp, PHPMyadmin , ) và trình bày sơ lược về cách triển khai dự án của các thành viên trong nhóm
Trang 14CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 TỔNG QUAN
Xây dựng một ứng dụng website sử dụng nền tảng JSP/ Servlet Trang web nghe nhạc miễn phí cùng với các video nhạc chất lượng cao và hoàn hảo nhất đáp ứng nhu cầu giải trí nhanh tiện lợi cho người sử dụng dịch vụ web nghe nhạc ngay trên internet ở mọi nơi mọi lúc với chiếc máy tính, điện thoại mà
2.2 ĐÁNH GIÁ HỆ THỐNG
Hiện nay, ngành công nghệ thông tin đã có những bước phát triển nhanh chóng
về ứng dụng của nó trong mọi lĩnh vực trong cuộc sống trên phạm vi toàn thế giới nói chung và việt nam nói riêng Công nghệ thông tin là một phần không thể thiếu của cuộc sống văn minh, góp phần đẩy mạnh công cuộc công nghiệp hóa hiện đại hóa đất nước Máy vi tính cùng với những phần mềm là công cụ không thể thiếu, giúp chúng ta quản lý, tổ chức, sắp xếp và xử lý công việc một cách nhanh chóng và hiệu quả Mạng Royal Pingdom cho biết, với 24,3 triệu người sử dụng Internet trong số 89,6 triệu dân, Việt Nam đứng thứ 20 trong danh sách các nước trên thế giới có số người sử dụng Internet cao nhất Trong đó có 76% vào mạng để nghe nhạc trực tuyến Nắm bắt được những cơ hội cung cấp các sản phẩm giải trí, , nhóm chúng em đã cho
ra đời website MySong với mục đích đem lại cho người yêu âm nhạc những tác phẩm hay phù hợp với mọi đối tượng khách hàng Những yếu tố thuận lợi bên trong và bên ngoài, cùng với tiềm năng phát triển thị trường giải trí trên website ở Việt Nam chính
là cơ sở để chúng em tin rằng MySong sẽ trở thành website âm nhạc hàng đầu việt nam trong 5 năm tới
2.3 YÊU CẦU
Hệ thống gồm 2 phần chính: Admin và Public
Cụ thể như sau:
Đối với người Admin:
Có thể đăng nhập, đăng xuất
o Chức năng đăng nhập vào hệ thống Người dùng khi muốn truy cập vào đây phải đăng nhập Chỉ những người có tài khoản mới có thể truy cập vào
o Chức năng quản lý danh mục, admin có thể xem, sửa, xóa, thêm danh mục
o Chức năng quản lý bài hát , admin có thế xem, sửa, thêm, xóa bài hát
Trang 15o Chức năng quản lý bình luận, người dùng xem và xóa các bình luận ở bài viết tin tức
o Chức năng quản lý người dùng, với người dùng là admin, không thể xóa và admin có thể thêm người dùng, xóa người dùng, còn với user chỉ có thể sửa user
Public:
Là phần tất cả mọi người có thể truy cập, sử dụng web ở giao diện public Gồm các chức năng:
o Chức năng hiển thị bài hát, danh mục bài hát
o Chức năng hiển thị tin tức ca nhạc theo danh mục
o Chức năng nghe nhạc online
o Chức năng liên hệ với admin
2.4 PHÂN TÍCH HỆ THỐNG
Sơ đồ phân rã chức năng:
BIỂU ĐỒ USE CASE
Actor Description
Admin - Đăng nhập và đăng xuất tài khoản admin
- Sửa đổi thông tin admin
-Thêm, sửa, xóa, xem các tài khoản quản trị viên
-Quản lí các nội dung của trang web: danh mục, bài hát, bình luận,…
User -Đăng nhập và đăng xuất tài khoản cá nhân
- Sửa đổi thông tin cá nhân
- Quản lí các nội dung của trang web: danh mục, bài hát, bình luận,…
Viewer -Xem, tìm kiếm, chia sẻ, bình luận bài viết
-Liên hệ với website