1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án môn học lập trình ứng dụng java web bán bánh mì

24 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ Án Môn Học Lập Trình Ứng Dụng Java Web Bán Bánh Mì
Tác giả Võ Nguyên Khoa, Nguyễn Hà An Khang, Nguyễn Hải Long, Giang Khải Minh, Hoàng Tiến Dũng
Người hướng dẫn Nguyễn Thanh Tùng
Trường học Trường Đại Học Công Nghệ Tphcm
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 24
Dung lượng 3,42 MB

Nội dung

Java Spring boot Java Spring Boot là một framework phát triển ứng dụng Java dựa trên Spring Framework.. ● Tích hợp dễ dàng: Spring Boot tích hợp tốt với các công nghệ và framework phổ bi

Trang 1

TRƯỜNG ĐẠI HỌC CÔNGNGHỆ TPHCMKHOA: CÔNG NGHỆTHÔNG TIN

ĐỒ ÁN MÔN HỌC LẬP TRÌNH ỨNG DỤNG JAVA

Web Bán Bánh Mì

Ngành: CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: Nguyễn Thanh Tùng

1 Võ Nguyên Khoa……… 2080600032……… 20DTHD1

2 Nguyễn Hà An Khang… 2090694884……… 20DTHD1

3 Nguyễn Hải Long………… 2011068860……… 20DTHD1

4 Giang Khải Minh……… 2011062641……… 20DTHD1

5 Hoàng Tiến Dũng………… 2080600008……… 20DTHD1

Trang 2

TP Hồ Chí Minh, 2023

Mục Lục

Lời Cảm Ơn 2

CHƯƠNG 1 CÔNG NGHỆ SỬ DỤNG 3

1 Java Spring boot 3

2 Spring Data JPA 4

3 Thymeleaf 5

4 Lombok 7

5 Spring Web 8

6 Xampp 10

CHƯƠNG 2 CHỨC NĂNG CỦA HỆ THỐNG 12

CHƯƠNG 3 KẾT QUẢ 13

Tài liệu kham khảo 22

Trang 3

Lời Cảm Ơn

Chúng em muốn bày tỏ lòng biết ơn chân thành đến khoa Công nghệ thông tin,trường Đại học Công Nghệ Thành phố Hồ Chí Minh (Hutech) vì đã tạo điều kiện thuận lợi

để chúng em học tập và hoàn thành đề tài này

Chúng em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Thanh Tùng vì đã hướng dẫn

và hỗ trợ tận tình suốt quá trình thực hiện đồ án

Cũng xin bày tỏ lòng biết ơn chân thành đến các thầy cô trong khoa Công nghệ thôngtin vì đã dạy bảo và trang bị cho chúng em những kiến thức quý giá trong quá trình học tậptại trường Đóng góp của quý thầy cô đã giúp chúng em hoàn thành đề tài một cách xuất sắc Chúng em cũng xin chân thành cảm ơn sự quan tâm, giúp đỡ, ủng hộ và động viên từbạn bè trong quá trình học tập cũng như trong quá trình hoàn thành tiến độ đồ án ở từng giaiđoạn

Xây dựng một đồ án là một nhiệm vụ khó khăn trong quá trình học tập Trong quátrình thực hiện đề tài, chúng em đã gặp nhiều khó khăn và thách thức Dù đã cố gắng hoànthành đề tài này trong khả năng của mình, nhưng do hạn chế về thời gian, chắc chắn sẽ cònmột số thiếu sót Chúng em mong nhận được sự thông cảm, góp ý và hướng dẫn tận tình từquý thầy cô và các bạn để đồ án của chúng em được hoàn thiện hơn

Chúng em xin thành thật gửi lời cảm ơn!

2

Trang 4

CHƯƠNG 1 CÔNG NGHỆ SỬ DỤNG

1 Java Spring boot

Java Spring Boot là một framework phát triển ứng dụng Java dựa trên Spring Framework Nó cung cấp một cách tiếp cận nhanh chóng và dễ dùng để xây dựng ứng dụng web và các dịch vụ backend

Ưu điểm của Java Spring Boot:

● Tiết kiệm thời gian và công sức: Spring Boot giúp giảm bớt công việc cấu hìnhban đầu và các tác vụ nhàm chán như cấu hình môi trường và khởi động ứng dụng Nó tự động cấu hình các thành phần phổ biến, giúp bạn tập trung vào việc phát triển chức năng chính của ứng dụng

Trang 5

● Tích hợp dễ dàng: Spring Boot tích hợp tốt với các công nghệ và framework phổ biến khác như Spring Security, Spring Data, Hibernate, Thymeleaf, và nhiều thư viện khác Điều này giúp bạn xây dựng ứng dụng mạnh mẽ và linh hoạt.

● Tích hợp dễ dàng với công cụ phát triển: Spring Boot hỗ trợ các công cụ phát triển phổ biến như Maven và Gradle, giúp quản lý các phụ thuộc và quá trình xây dựng ứng dụng

● Cung cấp cơ chế ứng dụng nhẹ: Spring Boot cung cấp một cơ chế nhẹ để phát triển các ứng dụng microservices và ứng dụng đám mây Nó hỗ trợ việc triển khai và quản lý các ứng dụng trên các nền tảng như Kubernetes

Nhược điểm của Java Spring Boot:

● Khả năng quản lý phức tạp: Mặc dù Spring Boot giảm thiểu sự phức tạp của việc cấu hình, nhưng khi ứng dụng phát triển lớn và phức tạp, việc quản lý các phụ thuộc và cấu hình có thể trở nên khó khăn

● Không phù hợp cho ứng dụng nhỏ: Đôi khi việc sử dụng Spring Boot cho các ứng dụng nhỏ có thể bị lãng phí và quá nặng nề Các ứng dụng đơn giản có thể

sử dụng các framework nhẹ hơn và không cần sự phức tạp của Spring Boot

● Tăng kích thước file JAR: Spring Boot tạo ra các file JAR có kích thước lớn hơn so với ứng dụng Java thông thường Điều này có thể là một vấn đề khi triển khai và quản lý các ứng dụng trên các môi trường có tài nguyên hạn chế

2 Spring Data JPA

Spring Data JPA là một phần của Spring Framework và cung cấp một cách dễ dàng

và mạnh mẽ để làm việc với cơ sở dữ liệu quan hệ thông qua Java Persistence API (JPA)

Nó giúp giảm thiểu công việc cần thiết để truy vấn và xử lý dữ liệu trong ứng dụng Java

Ưu điểm của Spring Data JPA:

4

Trang 6

● Giảm thiểu công việc lặp lại: Spring Data JPA giúp giảm thiểu công việc cần thiết để viết mã truy vấn SQL và các tác vụ liên quan đến cơ sở dữ liệu Nó cung cấp các phương thức CRUD (Create, Read, Update, Delete) cơ bản tự động và tự động tạo truy vấn dựa trên các quy tắc đặt tên.

● Hỗ trợ đa cơ sở dữ liệu: Spring Data JPA hỗ trợ nhiều cơ sở dữ liệu quan hệ như MySQL, PostgreSQL, Oracle, và nhiều hơn nữa Điều này giúp dễ dàng chuyển đổi giữa các cơ sở dữ liệu mà không cần thay đổi mã nguồn ứng dụng

● Tích hợp tốt với Spring Framework: Spring Data JPA tích hợp tốt với Spring Framework, cho phép sử dụng các tính năng khác như Dependency Injection, Transaction Management, và AOP (Aspect-Oriented Programming) Điều này giúp xây dựng ứng dụng Java một cách dễ dàng và linh hoạt

● Tích hợp các tính năng nâng cao: Spring Data JPA cung cấp các tính năng nâng cao như Paging and Sorting, Caching, Specification API, và Query by Example Điều này giúp viết mã truy vấn mạnh mẽ và hiệu quả hơn trong ứng dụng

Nhược điểm của Spring Data JPA:

● Đòi hỏi kiến thức về JPA: Để sử dụng Spring Data JPA hiệu quả, bạn cần có kiến thức về JPA và các khái niệm liên quan như đối tượng quan hệ, mapping,

và quản lý mối quan hệ Điều này đòi hỏi một thời gian để học và làm quen

● Giới hạn của JPA: Mặc dù JPA cung cấp một cách tiếp cận trừu tượng hóa cơ

sở dữ liệu, nhưng nó vẫn có một số giới hạn và hạn chế so với việc sử dụng trực tiếp SQL Đôi khi bạn cần phải sử dụng các truy vấn tùy chỉnh hoặc tối ưuhóa hiệu suất cho ứng dụng của mình

● Khả năng mở rộng: Khi ứng dụng trở nên lớn và phức tạp, việc quản lý và tối

ưu hóa truy vấn cơ sở dữ liệu có thể trở nên phức tạp Cần phải áp dụng các kỹthuật mở rộng như caching, indexing, và partitioning để đảm bảo hiệu suất và khả năng mở rộng của hệ thống

Trang 7

3. Thymeleaf

Thymeleaf là một động cơ template HTML và XML trên máy chủ cho các ứng dụng web Java Nó cho phép viết các template trực tiếp trong mã HTML và tích hợp dữ liệu từ ứng dụng Java vào template Thymeleaf cung cấp cú pháp đơn giản và mạnh mẽ để xử lý cáctác vụ như hiển thị dữ liệu, điều khiển luồng và tạo ra các biểu mẫu web

Ưu điểm của Thymeleaf:

● Dễ học và sử dụng: Thymeleaf sử dụng cú pháp gần giống với HTML, làm choviệc học và sử dụng nó dễ dàng cho các nhà phát triển web Bạn có thể viết cáctemplate trực tiếp trong mã HTML mà không cần sự hỗ trợ từ công cụ hoặc IDE đặc biệt

● Tích hợp tốt với Spring Framework: Thymeleaf được thiết kế để tích hợp tốt với Spring Framework Nó hỗ trợ các tính năng của Spring như Expression Language (EL), Form Binding, Internationalization (i18n) và các tính năng khác Điều này giúp việc phát triển ứng dụng web Java với Spring trở nên dễ dàng hơn

6

Trang 8

● Tích hợp dữ liệu dễ dàng: Thymeleaf cho phép tích hợp dữ liệu từ ứng dụng Java vào template một cách dễ dàng Bạn có thể truyền dữ liệu đến template thông qua Model hoặc các đối tượng khác, và sử dụng cú pháp Thymeleaf để hiển thị dữ liệu đó trong template.

● Hỗ trợ tính năng mạnh mẽ: Thymeleaf cung cấp nhiều tính năng mạnh mẽ như Iteration, Conditional Statements, Inclusion, Fragmentation và nhiều hơn nữa Điều này cho phép bạn xử lý các tác vụ phức tạp trong template một cách dễ dàng và linh hoạt

Nhược điểm của Thymeleaf:

● Hiệu suất chậm hơn so với các động cơ template khác: Thymeleaf có thể chậmhơn so với các động cơ template khác như JSP hoặc FreeMarker Do cú pháp phức tạp hơn và quá trình phân tích và render template tốn thời gian hơn

● Khả năng mở rộng hạn chế: Mặc dù Thymeleaf hỗ trợ các tính năng mạnh mẽ, nhưng nó có một số hạn chế trong việc mở rộng các chức năng tùy chỉnh Việctạo ra các tag và xử lý logic phức tạp trong template có thể khó khăn hơn so với các động cơ template khác

● Hạn chế về thiết kế giao diện: Thymeleaf không cung cấp các công cụ thiết kế giao diện phức tạp Việc tạo ra các layout phức tạp và kiểu dáng tùy chỉnh có thể đòi hỏi sự tạo mã HTML thủ công hoặc sử dụng các công cụ bên thứ ba

4 Lombok

Lombok là một thư viện Java mã nguồn mở được sử dụng để giảm thiểu công việc lặplại trong việc viết mã thông qua việc tự động tạo mã nguồn Nó cung cấp các chú thích (annotations) để tự động tạo các phương thức getter/setter, constructor, equals, hashCode và nhiều hơn nữa

Ưu điểm của Lombok: Giảm thiểu mã lặp:

Trang 9

● Lombok giúp giảm bớt công việc lặp lại khi viết mã Java bằng cách tự động tạo các phương thức getter/setter, constructor và các phương thức khác Điều này giúp mã nguồn trở nên ngắn gọn, dễ đọc và dễ bảo trì.

● Tăng hiệu suất phát triển: Sử dụng Lombok, bạn có thể tạo các phương thức vàcác cấu trúc cơ bản một cách nhanh chóng và dễ dàng Điều này giúp tăng hiệusuất phát triển và giảm thời gian viết mã

● Tích hợp dễ dàng: Lombok tích hợp tốt với các IDE phổ biến như Eclipse và IntelliJ IDEA Nó cung cấp các plugin và các tính năng hỗ trợ để sử dụng Lombok trong quá trình phát triển

● Tính tương thích ngược: Lombok không ảnh hưởng đến việc biên dịch và chạyứng dụng Java Các chú thích Lombok chỉ được sử dụng trong quá trình biên dịch và không ảnh hưởng đến mã nguồn gốc Điều này cho phép bạn sử dụng Lombok trong các dự án có sẵn mà không cần thay đổi mã nguồn hiện có

Nhược điểm của Lombok:

● Sự phụ thuộc vào công cụ hỗ trợ: Lombok phụ thuộc vào các công cụ hỗ trợ như IDE và trình biên dịch Java để hoạt động Việc không cài đặt hoặc cấu hình đúng các công cụ này có thể gây ra lỗi hoặc không hoạt động đúng của Lombok

● Khả năng hiểu biết mã nguồn: Do Lombok tự động tạo mã nguồn, việc đọc và hiểu mã nguồn có thể khó khăn hơn, đặc biệt đối với những người mới làm quen với thư viện

● Giới hạn của các chú thích sẵn có: Lombok cung cấp các chú thích sẵn có nhưng không thể tuỳ chỉnh chúng một cách linh hoạt như việc viết mã thủ công Điều này có thể gây hạn chế trong việc tùy chỉnh các phương thức và hành vi của lớp

5 Spring Web

8

Trang 10

Spring Web là một mô-đun trong Spring Framework, cung cấp các thành phần và công cụ để phát triển ứng dụng web Java Nó giúp xây dựng các ứng dụng web linh hoạt, mạnh mẽ và dễ bảo trì.

Ưu điểm của Spring Web:

● Tích hợp tốt với Spring Framework: Spring Web được thiết kế để tích hợp tốt với các thành phần khác của Spring Framework như Dependency Injection, Spring MVC và Spring Security Điều này giúp việc phát triển ứng dụng web trở nên dễ dàng và linh hoạt

● Kiến trúc linh hoạt: Spring Web hỗ trợ nhiều kiến trúc phát triển web như MVC (Model-View-Controller), RESTful API và WebSocket Điều này cho phép bạn lựa chọn kiến trúc phù hợp với yêu cầu cụ thể của dự án và tạo ra cácứng dụng web linh hoạt và dễ mở rộng

● Tiêu chuẩn hóa và tương thích: Spring Web tuân thủ các tiêu chuẩn web phổ biến như Servlet, JSP, WebSocket và JSON Điều này đảm bảo tính tương thích cao và khả năng tích hợp với các công nghệ web khác

● Tích hợp các công nghệ phổ biến: Spring Web tích hợp các công nghệ phổ biến như Thymeleaf, JSP, Jackson, Hibernate và nhiều hơn nữa Điều này giúpbạn sử dụng các công nghệ đã được kiểm tra và phát triển mạnh mẽ trong quá trình phát triển ứng dụng web

Nhược điểm của Spring Web:

Trang 11

● Độ phức tạp ban đầu: Spring Web có thể có một học tập ban đầu khá phức tạp.Đối với những người mới bắt đầu, việc hiểu và sử dụng đúng các khái niệm và thành phần của Spring Web có thể đòi hỏi thời gian và công sức.

● Độ trễ hiệu suất: Do Spring Web cung cấp các tính năng mạnh mẽ và kiến trúclinh hoạt, có thể có một số độ trễ hiệu suất so với các framework web nhẹ hơn.Tuy nhiên, sự trễ này thường không đáng kể và có thể được tối ưu hóa bằng cách cấu hình và tinh chỉnh

6 Xampp

XAMPP là một gói phần mềm mã nguồn mở miễn phí được sử dụng để cài đặt và cấuhình một môi trường phát triển web trên máy tính cá nhân Nó bao gồm các thành phần chính như Apache HTTP Server, MySQL, PHP và Perl, tạo ra một môi trường phát triển web đa năng và dễ sử dụng

Ưu điểm của XAMPP:

10

Trang 12

● Dễ cài đặt và sử dụng: XAMPP cung cấp một giao diện đơn giản và trực quan cho việc cài đặt và cấu hình các thành phần web như Apache, MySQL, PHP vàPerl trên máy tính cá nhân Việc cài đặt và sử dụng XAMPP không yêu cầu kiến thức chuyên sâu về hệ thống hoặc quản trị web.

● Đa nền tảng: XAMPP có sẵn cho các nền tảng phổ biến như Windows, macOS

và Linux, giúp bạn dễ dàng cài đặt và chạy môi trường phát triển web trên hệ điều hành mong muốn

● Đa chức năng: XAMPP cung cấp một loạt các công cụ và thành phần quan trọng để phát triển ứng dụng web, bao gồm máy chủ web Apache, cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP và Perl Điều này cho phép bạn xây dựng và chạy các ứng dụng web đa dạng trên môi trường phát triển cục bộ

● Tính linh hoạt: XAMPP cho phép bạn tùy chỉnh và cấu hình các thành phần web theo nhu cầu của dự án Bạn có thể kích hoạt và vô hiệu hóa các mô-đun, cấu hình máy chủ và cơ sở dữ liệu, tạo ra một môi trường phát triển web linh hoạt và tùy chỉnh

Nhược điểm của XAMPP:

● Không phù hợp cho môi trường sản xuất: Mặc dù XAMPP rất hữu ích cho việcphát triển và thử nghiệm ứng dụng web, nhưng nó không được khuyến nghị để

sử dụng trong môi trường sản xuất Đối với môi trường sản xuất, nên sử dụng các giải pháp máy chủ web và cơ sở dữ liệu được cấu hình và tối ưu hóa riêng biệt

● Bảo mật: XAMPP không được cấu hình mặc định để đảm bảo bảo mật tối đa Điều này có thể tạo ra một lỗ hổng bảo mật nếu bạn sử dụng XAMPP trực tiếp trong môi trường mạng công cộng Việc cấu hình và bảo mật XAMPP là trách nhiệm của người dùng

Tóm lại, XAMPP là một công cụ hữu ích cho việc phát triển và thử nghiệm ứng dụng web trên máy tính cá nhân Nó dễ cài đặt, đa nền tảng và linh hoạt Tuy nhiên, nó không phùhợp cho môi trường sản xuất và yêu cầu người dùng tự cấu hình và bảo mật

Trang 13

CHƯƠNG 2 CHỨC NĂNG CỦA HỆ THỐNG

1 Đăng nhập, đăng ký cho admin và user

2 Quên mật khẩu và forgot password mail

3 Thêm, sửa, xóa thực đơn

4 Thêm, sửa, xóa category

5 Xem danh sách bánh mì

6 Thêm sửa user

7 Phân quyền giữa admin và user

12

Trang 14

CHƯƠNG 3 KẾT QUẢ

1 Database Diagrams

Trang 15

2 Giao diện đăng ký.

3 Giao diện đăng nhập

4 Giao diện đổi mật khẩu

14

Trang 16

5 Giao diện forgot password mail.

Trang 17

6 Giao diện Trang Chủ.

16

Trang 18

7 Giao diện Thực Đơn.

Trang 20

8 Giao diện Category.

Trang 21

9 Giao diện Role.

20

Trang 22

10 Giao diện User.

Trang 24

Tài liệu kham khảo[1] Giáo trình trường Đại học Công nghệ TP.HCM

Ngày đăng: 04/02/2025, 16:27