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

Đồ án tốt nghiệp: Xây dựng Website giới thiệu mỹ phẩm

48 125 0

Đ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

Định dạng
Số trang 48
Dung lượng 888,86 KB

Nội dung

Mục tiêu đồ án nhằm: mô tả một cách chi tiết về những chức năng của Website giới thiệu mỹ phẩm. Minh họa chi tiết chức năng và xây dựng một hệ thống hoàn chỉnh. Giải thích rõ ràng về ràng buộc của hệ thống, trình bày tổng quan về giao diện và những tương tác với hệ thống. Để nắm rõ nội dung nghiên cứu mời các bạn cùng tham khảo đồ án.

Trang 1

TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

Trang 2

TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

XÂY DỰNG WEBSITE GIỚI THIỆU

MỸ PHẨM

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

NGÀNH CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: ThS HỒ THỊ HUYỀN THƯƠNG Sinh viên thực hiện: NGUYỄN THỊ NGỌC

Mã sinh viên: 145D4802010026

Lớp: 55K2 CNTT

Nghệ An – 05/2019

Trang 3

LỜI CAM ĐOAN

Em xin cam đoan đây là bản báo cáo đồ án của riêng em với đề tài “Xâydựng website giới thiệu mỹ phẩm” và được sự hướng dẫn chỉ dạy của giảng viên,ThS Hồ Thị Huyền Thương Các nội dung, kết quả cũng như số liệu trong đề tàinày là trung thực và chưa được công bố dưới bất kỳ hình thức nào

Nếu phát hiện có bất kỳ sự gian lận nào, em xin chịu hoàn toàn tráchnhiệm về nội dung đồ án của mình

Nghê ̣An, ngày 15 tháng 05 năm 2019

Sinh viên thực hiệnNguyễn Thị Ngọc

Trang 4

MỤC LỤC

DANH MỤC TỪ VIẾT TẮT 6

DANH MỤC BẢNG BIỂU 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 8

MỞ ĐẦU 9

1 Lý do chọn đề tài 9

2 Mục đích thực hiện 10

3 Phạm vi thực hiện 10

4 Nội dung thực hiện 10

5 Cấu trúc đồ án 10

LỜI CẢM ƠN 11

CHƯƠNG 1 GIỚI THIỆU VỀ NGÔN NGỮ JAVA, JAVA SERVLET VÀ MÔ HÌNH MVC 12

1.1 Tính năng kỹ thuật 12

1.2 Công cụ phát triển 12

1.3 Ngôn ngữ Java 12

1.3.1. Lịch sử ra đời ngôn ngữ Java 12

1.3.2. Java là gì? 14

1.3.3. Java được dùng để làm gì? 15

1.4 Giới thiệu về Java Servlet 15

1.4.1. Java Servlet là gì? 15

1.4.2. Ưu điểm của Servlet 18

1.5 Mô hình MVC 19

1.5.1 Lịch sử hình thành 19

1.5.2 MVC là gì? 19

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 22

2.1 Khảo sát và xác định yêu cầu bài toán 22

2.1.1 Mô tả bài toán 22

Trang 5

2.1.2 Khảo sát hiện trạng và xây dựng hệ thống mới 24

2.1.3 Phân tích chức năng 24

2.2 Phân tích hệ thống 25

2.2.1 Các tác nhân 25

2.2.2 Sơ đồ Use Case 26

CHƯƠNG 3 THIẾT KẾ VÀ LẬP TRÌNH 30

3.1.Thiết kế cơ sở dữ liệu 30

3.1.1 Các bảng trong cơ sở dữ liệu 30

3.1.2.Mối quan hệ giữa các bảng 33

3.2 Kiến trúc Project 33

3.3 Danh sách File Types 34

3.3.1.WebContent 34

3.3.2.Java Resources 35

CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM 37

4.1.Công cụ sử dụng 37

4.2.Minh họa website 37

4.2.1.Trang đăng ký 37

4.2.2 Trang đăng nhập 38

4.2.3.Trang hiển thị sản phẩm 38

4.2.4.Trang tìm kiếm sản phẩm 39

4.2.5.Trang hiển thị sản phẩm theo danh mục sản phẩm 40

4.2.6.Trang hiển thị sản phẩm theo thương hiệu 41

4.2.7.Trang chi tiết sản phẩm 42

4.2.8.Trang đặt hàng 42

4.2.9.Trang quản lý của cộng tác viên 43

4.2.10.Trang quản lý của Admin 43

KẾT LUẬN 44

TÀI LIỆU THAM KHẢO 45

Trang 6

trình ứng dụng)

MVC Model View Controller

CTV Cộng tác viên

Trang 8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.4.1 Vai trò của Servlet

Hình 1.5.2 Mô hình MVC

Hình 2.2.2.1 Quản lý người dùng - Admin

Hình 2.2.2.2 Quản lý thương hiệu - Admin

Hình 2.2.2.3 Quản lý danh mục sản phẩm - Admin

Hình 4.2.9 Trang quản lý của cộng tác viên

Hình 4.2.10 Trang quản lý của Admin

Trang 9

MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo

cả chiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quýhiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụngcủa con người, không chỉ ở nơi làm việc mà còn ngay cả trong gia đình Đặc biệt

là công nghệ thông tin được áp dụng trên mọi lĩnh vực kinh tế, chính trị, xã hội

Nó đóng vai trò hết sức quan trọng

Trong hoạt động sản xuất, kinh doanh giờ đây thương mại điện tử và ứngdụng công nghệ thông tin đã khẳng định được vai trò xúc tiến và thúc đẩy sự pháttriển của doanh nghiệp Đối với một cửa hàng hay shop, việc quảng bá và giớithiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khách hàngđồng thời cho khách hàng thấy được sự khác biệt giữa các sản phẩm của các nhàsản xuất (thương hiệu) khác nhau sẽ là cần thiết Vậy phải quảng bá thế nào đó làxây dựng được một Website cho cửa hàng của mình giới thiệu tất cả các sảnphẩm của mình bán

Vì vậy, em đã thực hiện đề tài “Xây dựng website giới thiệu mỹ phẩm”

cho một số thương hiệu mỹ phẩm Người chủ cửa hàng hoặc cộng tác viên đưacác sản phẩm đó lên website và quản lý bằng website đó, khách hàng có thể đặthàng trên website mà không cần đến cửa hàng Chủ cửa hàng sẽ trực tiếp liên hệcho khách hàng khi nhận được đơn đặt hàng qua website Với những tính năng

cơ bản, Website giúp gắn kết người mua và chủ cửa hàng dễ dàng, tiết kiệm thờigian cho khách hàng hơn việc phải đến trực tiếp cửa hàng để mua sản phẩm Nócòn giúp người chủ cửa hàng dễ dàng nắm bắt, quản lí sản phẩm của mình vàtruyền thông quảng cáo được rộng hơn, đồng thời cạnh tranh cao với các thươnghiệu khác ngay trên chính website giới thiệu mỹ phẩm chung

Ngoài ra, bản thân cũng là một người thích xem và tìm hiểu các thương hiệu mỹphẩm khác nhau, bởi vậy việc lựa chọn đề tài “Xây dựng website giới thiệu mỹphẩm” làm đề tài bảo vệ đồ án tốt nghiệp đại học cũng là một sự lựa chọn emnghĩ là khá phù hợp với bản thân mình

Trang 10

2 Mục đích thực hiện

Mục đích của tài liệu này mô tả một cách chi tiết về những chức năng của

“Website giới thiệu mỹ phẩm” Nó minh họa chi tiết chức năng và xây dựng một

hệ thống hoàn chỉnh Nó giải thích rõ ràng về ràng buộc của hệ thống, trình bàytổng quan về giao diện và những tương tác với hệ thống Tài liệu này dùng mô tảtrình bày lại nhằm chỉnh sửa và điều chỉnh được tốt hơn

3 Phạm vi thực hiện

- Đối tượng nghiên cứu: Hệ thống website giới thiệu mỹ phẩm và quy trình,phương pháp, phát triển một website

- Phạm vi nghiên cứu: Xây dựng website giới thiệu mỹ phẩm

4 Nội dung thực hiện

- Phương pháp phân tích tổng hợp kinh nghiệm

- Tham khảo các hệ thống website mỹ phẩm lớn ở Việt Nam

- Chương 1: Giới thiệu về ngôn ngữ Java, Java Servlet và Mô hình MVC

- Chương 2: Khảo sát và phân tích hệ thống

- Chương 3: Thiết kế và Lập trình

- Chương 4: Cài đặt thử nghiệm

Trang 11

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn ThS Hồ Thị Huyền Thương đãdùng tri thức, tâm huyết để truyền vốn tri thức quý báu và nhiệt tình giúp đỡ emcũng như các bạn khác trong suốt thời gian chúng em thực hiện theo tiến độ đồán

Cảm ơn cô đã tạo mọi điều kiện tốt nhất, đã luôn quản lý, đốc thúc emhoàn thành đề tài, giúp em có thêm động lực để luôn cố gắng hoàn thành tốt yêucầu đề ra Trong thời gian tìm tòi, tự học vừa qua, đồng thời được sự hướng dẫngiảng dạy của các cô thầy trong Viện Kỹ thuật & Công nghệ và sự giúp đỡ nhiệttình của một số anh chị có kinh nghiệm, em đã hiểu và củng cố, nắm vững hơncác kiến thức đã được học từ các đợt thực tập trước và có cái nhìn thực tế hơn vềchuyên ngành mình học, giúp em hoàn thành bài báo cáo đồ án này

Trong quá trình học tập cũng như làm báo cáo đề tài, mặc dù đã rất cố gắngnhưng do kinh nghiệm thực tiễn và trình độ còn hạn chế nên khó tránh khỏi saisót Em rất mong nhận được ý kiến đóng góp từ các thầy cô để em có thêm nhiềukinh nghiệm và hướng phát triển đề tài trong tương lai

Nghệ An , ngày 15 tháng 05 năm 2019

Sinh viên thực hiệnNguyễn Thị Ngọc

Trang 12

CHƯƠNG 1 GIỚI THIỆU VỀ NGÔN NGỮ JAVA, JAVA SERVLET VÀ

MÔ HÌNH MVC

1.1 Tính năng kỹ thuật

 Website được thiết kế theo hướng mở, có thể nâng cấp và cập nhật thêm các tính năng mới khi có nhu cầu

 Hỗ trợ sử dụng tiếng việt theo đúng chuẩn Unicode

 Tương thích với các loại trình duyệt Internet như Google Chome, Mozilla Firefox, và Internet Explorer…

 Hiện thị trên mọi giao diện như mobile, Ipad,…

 Ứng dụng các công nghệ phát triển web mới nhất , đồng thời sử dụng cáccông cụ phổ biến như Photoshop,… và phát triển trên mô hình MVC củaJava để mang đến cho website một dáng vẻ sống động và hiện đại Sửdụng các hiệu ứng làm nổi bật , lôi cuốn cho giao diện website

1.3.1 Lịch sử ra đời ngôn ngữ Java

Java ban đầu được phát triển bởi James Gosling tại Sun microsystems ( đãđược Oracle mua lại ) và phát hành vào năm 1995 như là một thành phần cốt lõicủa nền tảng Java của Sun microsystems Các trình biên dịch Java , máy ảo

Trang 13

và thư viện lớp ban đầu và tham chiếu ban đầu được Sun phát hành theo giấyphép độc quyền Kể từ tháng 5 năm 2007, tuân thủ các thông số kỹ thuậtcủa Quy trình cộng đồng Java , Sun đã cấp phép lại hầu hết các công nghệ Javacủa mình theo Giấy phép công cộng GNU Trong khi đó, những người khác đãphát triển các triển khai thay thế cho các công nghệ Mặt trời này, chẳng hạnnhư Trình biên dịch GNU cho Java (trình biên dịch mã byte), GNUClasspath (thư viện chuẩn) và IcedTea -Web (plugin trình duyệt cho các applet).

Kể từ ngày 20 tháng 3 năm 2018 , cả Java 8 và 11 đều được hỗ trợ chínhthức Các phiên bản phát hành chính của Java, cùng với ngày phát hành củachúng:

- JDK 1.0 (ngày 23 tháng 1 năm 1996)

- JDK 1.1 (ngày 19 tháng 2 năm 1997)

- J2SE 1.2 (ngày 8 tháng 12 năm 1998)

- J2SE 1.3 (ngày 8 tháng 5 năm 2000)

- J2SE 1.4 (ngày 6 tháng 2 năm 2002)

- J2SE 5.0 (ngày 30 tháng 9 năm 2004)

- Java SE 6 (ngày 11 tháng 12 năm 2006)

- Java SE 7 (ngày 28 tháng 7 năm 2011)

- Java SE 8 (ngày 18 tháng 3 năm 2014)

- Java SE 9 (ngày 21 tháng 9 năm 2017)

- Java SE 10 (ngày 20 tháng 3 năm 2018)

- Java SE 11 (ngày 25 tháng 9 năm 2018)

- Java SE 12 (ngày 19 tháng 3 năm 2019)

Phiên bản mới nhất là Java SE 12 , phát hành tháng ba năm 2019 Kể từ Java

9 không còn được hỗ trợ, Oracle khuyên người sử dụng sử dụng Java 12 Oraclephát hành bản cập nhật nào cuối cùng cho di sản Java 8 LTS, đó là miễn phí chomục đích thương mại, vào tháng giêng năm 2019 Java 8 sẽ được hỗ trợ với bảncập nhật nào cho mục đích cá nhân lên đến ít nhất là tháng mười hai năm 2020.Oracle và những người khác "khuyên bạn nên gỡ bỏ phiên bản cũ của Java" vì

Trang 14

rủi ro nghiêm trọng do chưa được giải quyết vấn đề an ninh Oracle hỗ trợ mở rộng cho Java 6 đã kết thúc vào tháng 12 năm 2018.

Bản thân ngôn ngữ lập trình Java là ngôn ngữ hướng đối tượng, về mặt cúpháp tương tự như C ++ Không giống như một số ngôn ngữ khác đi trước nó, đãtriển khai các lớp nhưng không yêu cầu sử dụng chúng, các chương trình Javaluôn được thiết kế với thiết kế hướng đối tượng

Trong khi ngôn ngữ Java và máy ảo Java chạy mã Java được ghép nốichặt chẽ, hai ngôn ngữ này tách biệt nhau Mã từ các ngôn ngữ khác được thiết

kế riêng cho JVM, như Groovy và Scala, cũng có thể chạy trên máy ảo Java

Hãy cẩn thận đừng nhầm lẫn Java với JavaScript Mặc dù cả hai ngôn ngữhiện được tìm thấy trong nhiều môi trường, JavaScript, được sử dụng phổ biếnnhất để tăng sức mạnh tương tác bên trong trình duyệt web, là một công cụ hoàntoàn khác Khác với một phần của cái tên, cả hai không có nhiều điểm chung

Có 5 mục tiêu chính trong việc xây dựng ngôn ngữ Java:

1 Đơn giản, hướng đối tượng và quen thuộc

2 Mạnh mẽ và an toàn

3 Kiến trúc trung lập và di động

4 Thực thi với hiệu suất cao

5 Dịch ra bytecode, phân luồng và năng động

Trang 15

Servlets hoạt động ở phía máy chủ.

1.3.3 Java được dùng để làm gì?

- Tất cả các loại ứng dụng, từ các trò chơi cực kỳ phổ biến như Minecraftđến môi trường phát triển tích hợp Eclipse được các nhà phát triển sử dụng chonhiều ngôn ngữ và nền tảng khác nhau, chạy trên Java Java cũng cấp một số ứngdụng được xây dựng riêng cho web Mặc dù với những cải tiến về JavaScript vàHTML, các applet Java không còn là tiêu chuẩn thực tế cho các ứng dụng webtương tác, nhiều người vẫn dựa vào Java để cung cấp trải nghiệm tương tác trêntrình duyệt

- Ứng dụng JavaFX: JavaFX là một nền tảng phần mềm để tạo và phânphối các ứng dụng máy tính để bàn , cũng như các ứng dụng Internet phong phú(RIA) có thể chạy trên nhiều loại thiết bị JavaFX dự định thaythế Swing làm thư viện GUI tiêu chuẩn cho Java SE , nhưng cả hai sẽ được đưavào trong tương lai gần JavaFX có hỗ trợ cho máy tính để bàn và trình duyệtweb trên Microsoft Windows , Linux và macOS JavaFX không hỗ trợ giao diện

hệ điều hành gốc

- Một số nền tảng cung cấp hỗ trợ phần cứng trực tiếp cho Java; có các bộđiều khiển vi mô có thể chạy mã byte Java trong phần cứng thay vì máy ảo Javaphần mềm, và một số bộ xử lý dựa trên ARM có thể hỗ trợ phần cứng để thựcthi mã byte Java thông qua tùy chọn Jazelle của chúng , mặc dù hỗ trợ hầu hết đã

bị loại bỏ trong các triển khai hiện tại của ARM

1.4 Giới thiệu về Java Servlet

1.4.1 Java Servlet là gì?

Ngày nay, tất cả chúng ta đều nhận thức được sự cần thiết của việc tạo cáctrang web động, tức là những trang có khả năng thay đổi nội dung trang theo thờigian hoặc có thể tạo nội dung theo yêu cầu mà khách hàng nhận được Nếu bạnthích mã hóa bằng Java, thì bạn sẽ rất vui khi biết rằng sử dụng Java cũng tồn tạimột cách để tạo các trang web động và cách đó là Java Servlet.Servlets là các chương trình Java chạy trên máy chủ ứng dụng web hoặcmáy chủ ứng dụng Java Chúng được sử dụng để xử lý yêu cầu thu được từ máychủ web, xử lý yêu cầu, tạo phản hồi, sau đó gửi phản hồi lại cho máy chủ web.Thuộc tính của Servlets:

15

Trang 16

 Servlets có khả năng xử lý yêu cầu phức tạp thu được từ máy chủ web.Thực thi Servlets bao gồm sáu bước cơ bản:

1 Các khách hàng gửi yêu cầu đến máy chủ web

2 Máy chủ web nhận được yêu cầu

3 Máy chủ web chuyển yêu cầu đến servlet tương ứng

4 Servlet xử lý yêu cầu và tạo phản hồi dưới dạng đầu ra

5 Servlet gửi phản hồi trở lại máy chủ web

6 Máy chủ web sẽ gửi phản hồi lại cho máy khách và trình duyệt máy khách

là các yêu cầu HTTP ) từ các máy khách

API servlet Java ở một mức độ nào đó đã được thay thế bởi hai công nghệ Java tiêu chuẩn cho các dịch vụ web:

- Các Java API cho các dịch vụ Web RESTful (JAX-RS 2.0) hữu ích cho AJAX, JSON và REST dịch vụ

- Các Java API cho các dịch vụ Web XML (JAX-WS) hữu íchcho SOAP Web Services

Các trang JavaServer (JSP) là các thành phần Java EE phía máy chủ tạo racác phản hồi, điển hình là các trang HTML , cho các yêu cầu HTTP từ các máykhách Các tệp nhúng nhúng mã Java vào một trang HTML bằng cách sử dụngcác dấu phân cách đặc biệt <% và %> Một tệp JSP được biên dịch thành

một servlet Java , một ứng dụng Java theo đúng nghĩa của nó, lần đầu tiên nó

được truy cập Sau đó, servlet được tạo sẽ tạo ra phản hồi

Một trình duyệt chấp nhận đầu vào ở dạng HTML, khi người sử dụng nhấnmột nút để yêu cầu một số thông tin nào đó, một Servlet đơn giản được gọi để xử

lý các yêu cầu đó Các công việc chính của Servlet được mô tả khái quát tronghình 1, bao gồm:

Trang 17

ServletHTTPServlet

JNIRMIChương trình ứng dụngXML Chương trình Java

 Xử lý và lưu trữ các dữ liệu được cung cấp dưới dạng HTML

 Gửi trả lời dữ liệu tường minh cho Client (dạng HTML), cung cấp các nội dung động, ví dụ trả lời yêu cầu Client về các câu truy vấn vào các CSDL

 Quản lý các thông tin trạng thái và trả lời dữ liệu không tường minh cho Client (các mã trạng thái và các phần đầu của trả lời)

Hình 1.4.1 Vai trò của Servlet

Các Servlet cũng được sử dụng thay cho kịch bản giao diện cổng chung CGI Script Khi tạo ra một trang Web, ta cũng sẽ tạo ra một ứng dụng Web

Trước khi sử dụng Servlet để tạo ra các ứng dụng Web, chúng ta đi tìm hiểu xem

có những khả năng lựa chọn nào khác để phát triển những ứng dụng Web

CGI: Theo cách thông thường, để bổ sung các chức năng vào cho một

Web Server người ta hay sử dụng Common Gateway Interface (CGI), mộtgiao diện độc lập với ngôn ngữ cho phép một Server khởi động một tiếntrình ngoại để nhận thông tin được yêu cầu thông qua các biến môitrường Mỗi yêu cầu được trả lời bởi một tiến trình riêng thông qua mộtđại diện riêng của một chương trình CGI hoặc bởi một kịch bản CGI(thường được viết bằng ngôn ngữ thông dịch như Perl)

Client

Trang 18

Fast CGI: Open Marked đã phát triển một chuẩn khác thay cho CGI được

gọi là Fast CGI Fast CGI hành động giống như CGI Nó khác ở chỗ, Fast CGItạo ra một tiến trình bền vững cho từng chương trình

 Một số chương trình ứng dụng khác như ASP và Java Script cũng hỗ trợ đểtạo ra các ứng dụng Web ASP được Microsoft phát triển để tạo ra các nộidung cho các trang Web động Trong ASP, trang HTML có thể nhúng nhữngphần nhỏ được viết bằng VBScript hoặc JScript Netscape đưa ra kỹ thuậtđược gọi là JavaScript, cho phép đưa các phần mã lệnh nhỏ nhúng vào trangHMTL, nhằm tạo ra những nội dung Web động một cách linh họat hơn.Ngoài ra, Netscape còn cung cấp NSAPI, Microsoft đưa ra ISAPI cho các WebServer của họ

1.4.2 Ưu điểm của Servlet

Servlet được sử dụng để thay thế cho những công nghệ Web động Việc sử dụng Servlet mang lại những lợi thế:

Dễ di chuyển Servlet được viết bằng Java nên nó có tính di động cao, thực

hiện được trên nhiều hệ điều hành, trên các Web Server khác nhau Kháiniệm “Viết một lần, chạy ở mọi nơi” cũng rất đúng với Servlet

Mạnh mẽ Servlet hỗ trợ rất hiệu quả cho việc sử dụng các giao diện lõi API

như lập trình mạng, xử lý đa luồng, xử lý ảnh, nén dữ liệu, kết nối cácCSDL, bảo mật, xử lý phân tán và triệu gọi từ xa RMI, CORBA, v.v Nócũng thích hợp để trao đổi tin, truyền thông giữa Client và Server một cáchbình thường

Hiệu quả Servlet có tính hiệu quả cao Một khi được tải về, nó sẽ được lưu

lại trong bộ nhớ của máy chủ Servlet duy trì các trạng thái của nó, do vậynhững tài nguyên ngoại như việc kết nối với CSDL cũng sẽ được lưu giữlại

An toàn Bởi vì Servlet được viết bằng Java nên nó kế thừa được tính an toàn

của Java Cơ chế tự động dọn rác và việc không sử dụng con trỏ của Javagiúp cho Servlet thoát khỏi nhiều công việc quản lý bộ nhớ Đồng thời nó

xử lý các lỗi rất an toàn theo cơ chế xử lý ngoại lệ của Java

Trang 19

Tính tích hợp Các Servlet được tích hợp với các Server Chúng cộng tác với

các Server tốt hơn các chương trình CGI

Trang 20

Tính linh hoạt Các Servlet hoàn toàn mềm dẻo Một HTTP Servlet được sử

dụng để tạo ra một trang Web, sau đó ta có thể sử dụng thẻ <Servlet> để đưa

nó vào trang Web tĩnh, hoặc sử dụng với các Servlet khác để lọc ra các nộidung cần thiết

1.5 Mô hình MVC

1.5.1 Lịch sử hình thành.

MVC được phát minh bởi một giáo sư người Na Uy tên là TrygveReenskaug và được ông công bố, trình bày ngày 10/12/1979 tại phòng thínghiệm Xerox PARC ở Palo Alto

1.5.2 MVC là gì?

MVC là viết tắt của Model-View-Controller Phương pháp thiết kế MVC(MVC Design Pattern) là phương pháp chia nhỏ một ứng dụng nhiều lớp hoặcchia nhỏ phần giao diện người dùng (user interface) của một ứng dụng thành bathành phần chính là Model, View và Controller (hình 1)

Hình 1.5.2 Mô hình MVC.

Trang 21

Trong đó:

- Model là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữliệu của chương trình, chứa các thực thể, gồm các dữ liệu ( private ) , kèmtheo các phương thức set/get; thực hiện các công việc liên quan đến CSDLnhư kết nối, lấy dữ liệu , truy vấn, chỉnh sửa, thêm xóa dữ liệu trực tiếpvới database; Truyền yêu cầu từ Servlet và lấy dữ về cho Servlet

- Chịu trách nhiệm chính trong mô hình hóa đối tượng Có nhiệm vụ:

+ Nhận các yêu cầu từ View

+ Thực thi các yêu cầu đó (tính toán, kết nối CSDL )

+ Trả về các giá trị tính toán choView

- View(Khung nhìn): là giao diện của hệ thống tương tác trực tiếp với ngườidùng, là các trang JSP, nhiệm vụ trả về hiển thị cho người như hiển thịform nhập liệu, hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm,hộp đối thoại, chọn lựa , để người dùng có thể thêm, xóa, sửa, tìmkiếm, các kết quả trả về từ Model…

- Controller(Bộ điều khiển): Là các Servlet, có nhiệm vụ nhận các yêu cầu

từ người dùng, đưa yêu cầu và nhận dữ liệu từ tầng Model, từ đó chuyểnhướng và trả về cho tầng View

1.5.3 Đặc điểm mô hình MVC

Java là một ngôn ngữ lập trình hướng đối tượng thuần túy nên việc ápdụng MVC vào các phần mềm viết bằng Java rất dễ dàng và hiển nhiên Có haihình mẫu chính của phương pháp thiết kế MVC trong Java là MVC model 1 vàMVC model 2

Trong MVC model 1, các trang JSP đóng vai trò “Hiển thị” (View) và

“Điều khiển” (Controller) Có thể có nhiều trang JSP khác nhau đóng các vai tròkhác nhau

Thao tác của người dùng trên trình duyệt web được gửi tới một trang JSP.Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean (nếu cần thiết), truyền cáclệnh cần thi hành tới Java Bean (không phải Enterprise Java Bean).Sau khi Java Bean thực hiện xong việc truy xuất hoặc cập nhật dữ liệu, trang JSPban đầu có thể hiển thị dữ liệu lấy từ Bean (JSP ban đầu đóng luôn vai trò View),

Trang 22

hoặc chọn một trang JSP khác để hiện dữ liệu từ Bean (JSP ban đầu đóng luônvai trò Controller) Trong một thiết kế tốt, để bảo đảm việc tách rời phần trìnhbày và logic của chương trình, trang JSP nhận yêu cầu chỉ đóng vai trò “Điềukhiển”(Controller).

MVC model 1 có một nhược điểm là phần logic điều khiển được viếttrong trang JSP, như vậy phần chương trình Java phức tạp dùng để điều khiển sẽ

bị lẫn vào trong mã HTML dùng để trình bày Độ phức tạp của chương trìnhcàng cao, thì trang JSP càng khó phát triển và bảo trì Hơn nữa, trong các dự ánphức tạp, phần hiển thị do người thiết kế web giỏi về HTML và đồ họa thực hiện,còn phần điều khiển được người chuyên về lập trình thực hiện Dùng JSP làmphần điều khiển sẽ khó phân ranh giới trách nhiệm giữa nhóm thiết kế đồ họa vànhóm lập trình Để khắc phục nhược điểm này, MVC model 2 ra đời

Trong MVC model 2, một hoặc nhiều servlet (thường là một) đóng vai tròđiều khiển, các Java Bean đóng vai trò mô hình và các trang JSP đóng vai tròhiển thị

Trong model 2, các logic phức tạp của chương trình được viết hoàn toàntrong các servlet (chương trình Java) Phần hiển thị chỉ gồm các trang JSP vớimột vài mã đơn giản để lấy dữ liệu có sẵn, không có logic phức tạp, vì thế hoàntoàn có thể giao cho người thiết kế web

Các yêu cầu của người dùng được gửi từ trình duyệt web tới servlet.Servlet sẽ khởi tạo Java Bean (nếu cần thiết), ra lệnh thu thập, cập nhật thông tin.Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thích hợp để hiệnthông tin trong Java Bean cho người dùng

Đây là một cách sử dụng MVC rất hiệu quả trong Java Tất nhiên, sử dụngMVC model 2 một cách hoàn toàn cứng nhắc, phần “Điều khiển” chỉ dùngservlet, phần “Hiển thị” chỉ dùng JSP sẽ dẫn đến một vài trường hợp kém hiệuquả, nhất là khi các yêu cầu từ trình duyệt web chỉ đòi hỏi việc hiển thị thông tin.Trong trường hợp này, gửi thẳng yêu cầu hiển thị từ trình duyệt web tới trangJSP sẽ hiệu quả hơn

Dựa trên những phân tích đó, đề tài em chọn được làm trên mô hìnhMVC 2

Trang 23

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG

2.1 Khảo sát và xác định yêu cầu bài toán

2.1.1 Mô tả bài toán

- Trang chủ

Là sự thể hiện tổng quan của các trang thành phần trong website như:

Bộ lọc tìm kiếm sản phẩm theo thương hiệu, theo danh mục sản phẩm, theogiá cả, …

Các sản phẩm được giới thiệu

Các sản phẩm nổi bật

Các tiêu chí, chính sách đảm bảo chất lượng và uy tín về sản phẩm và giaohàng

Các hình ảnh logo đại diện cho các thương hiệu

Các thông tin cơ bản để khách hàng hoặc cộng tác viên liên hệ khi cần thiết

Trang 24

- Đăng ký

- Đăng nhập

- Khách hàng: xem và đặt hàng, thay đổi thông tin cá nhân

- Cộng tác viên: yêu cầu phê duyệt bài đăng, quản lý các sản phẩmmình đăng và quản lý các đơn hàng mà khách hàng đăt hàng chínhsản phẩm mà mình đã đăng, thay đổi thông tin cá nhân

- Admin: quản lý thành viên, quản lý thương hiệu, quản lý sản phẩm,quản lý các loại sản phẩm, quản lý đơn hàng, phê duyệt thành viên

và bài đăng, thay đổi thông tin cá nhân

- Quản lý tài khoản

- Hướng dẫn đăng tin

- Thành viên có thể quản lý toàn bộ thông tin của mình

- Cộng tác viên có thể quản lý được toàn bộ thông tin của mình

- Admin có thể quản lý được mọi thông tin của thành viên

- Theo trạng thái xuất hiện

 Modul đăng giới thiệu sản phẩm

Module này cho phép thành viên là cộng tác viên được phép đăng bán,giới thiệu sản phẩm, trong đó các sản phẩm này phải thuộc một trong cácthương hiệu mà trang web đang làm việc Nếu muốn, cộng tác viên có thểtrực tiếp liên hệ với admin để thêm một thương hiệu khác và sau khi đượcchấp nhận, admin thêm thương hiệu mới cho phép công tác viên quản lý sảnphẩm của thương hiệu đó nhưng là các sản phẩm do chính cộng tác viên đóđăng Trong module này chỉ cho phép cộng tác viên đăng sản phẩm

Ngày đăng: 31/12/2019, 08:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w