Xây dựng website bán CD DVD trên nền strutsframework
Xây dựng Website bán CD DVD trên nền Struts FrameWork Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Công Nghệ Thông Tin Khoa Công Nghệ Phần Mềm … Báo Cáo Đồ Án Cuối Kỳ Đề Tài: Xây Dựng Website Bán CD DVD Trên Nền Struts FrameWork Tp. Hồ Chí Minh, ngày 6 tháng 1 năm 2015 1 Giáo viên hướng dẫn : PGS. TS. Vũ Thanh Nguyên Xây dựng Website bán CD DVD trên nền Struts FrameWork MỤC LỤC 2 Xây dựng Website bán CD DVD trên nền Struts FrameWork CHƯƠNG 1: TỔNG QUAN VỀ STRUTS FRAMWORK 1.1 Giới thiệu Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực Jave phía server của mẫu thiết kế Model-View-Controller(MVC). Dự án Struts được khởi xướng bởi Craig McClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án Struts đã trở thành một dự án độc lập – dự án Apache Struts. Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứng dụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) và tầng dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều sự ủng hộ từ các nhà phát triển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở. 1.2. Mẫu thiết kế MVC Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế MVC được bắt nguồn từ Smalltalk, bao gồm 3 thành phần: Model, View và Controller. Thành phần Mô tả Model Biểu diễn các đối tượng dữ liệu.Thành phần Model là những gì đang được thao tác và trình bày cho người dùng View Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần Model. Thành phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu Controller Định nghĩa cách giao thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần Controller là đối tượng thao tác thành phần Model( hay đối tượng dữ liệu) Bảng 1.1 Ba thành phần của mẫu thiết kế MVC Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC: 3 Xây dựng Website bán CD DVD trên nền Struts FrameWork - Tính tin cậy: tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller. - Tính thích ứng và tính tái sử dụng cao: mẫu MVC cho phép bạn sử dụng nhiều loại khung nhìn tất cả truy cập đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trình duyệt không dây (WAP). - Các phí tổn trong vòng đời phát triển rất thấp: mẫu MVC chỉ cần có người lập trình cấp thấp phát triển và bảo trì các giao diện người dùng. - Triển khai nhanh chóng: thời gian phát triển có thể được giảm đáng kể, bởi vì những người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, còn những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần trình bày. - Tính bảo trì: việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sữa đổi một ứng dụng 1.3. Struts thực thi MVC Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp các trang JSP, các thẻ JSP tùy biến, và một Java servlet.Dưới đây chúng ta sẽ mô tả ngắn gọn cách mà Struts Framework ánh xạ đến mỗi thành phần trong mô hình MVC 4 Xây dựng Website bán CD DVD trên nền Struts FrameWork Hình 1.1 Bản hiện thực Struts của mẫu MVC Hình 1.1 mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo.Quy trình này chó thể được chia thành 5 bước cơ bản: 1. Một yêu cầu xuất phát từ một View đã được hiển thị trước đó. 2. Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlet tìm URI được yêu cầu trong một file XML và xác đinh tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết. 3. Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng. 4. Khi đã hoàn tất quá trinì sử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thời cung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác định các kết quả sẽ được chuyển đến đâu khi trình bày. 5. Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, và View này trình bày các kết quả của Action. 5 Xây dựng Website bán CD DVD trên nền Struts FrameWork 1.4. Thành phần 1.4.1 Thành phần Model Các thành phần Model của Struts Framewwork, như đã được giới thiệu ở phần trước, biểu diễn các đối tượng dữ liệu của ứng dụng Struts. Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống backend khác và có thể được hiện thực là những JavaBean đơn giản, những Enterprise JavaBean, những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là những gì cần được thao tác hay biểu diễn trong một ứng dụng web. 1.4.2 Thành phần View Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể chứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP và HTML. Các trang JSP trong Struts Framework có 2 chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đã được thực thi trước đó.Điều này thường được hoàn thành bằng cách sử dụng một tập thẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích. Loại View này không thể hiện đặc trưng của Struts và không được lưu tâm. Chức năng thứ hai thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện một Controller Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ Struts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc trưng Struts. Đoạn mã sau là một ví dụ đơn giản về loại View này: <%@ taglib uri=”/WEB-INF/struts-html.tld” prefix=”html”> <html:form action=”loginAction.do” Name=”loginForm” Type=”com.stock.loginForm”> User Id: <html:text property=”username”><br/> 6 Xây dựng Website bán CD DVD trên nền Struts FrameWork Passwork: <html:passwork property=”passwork”><br/> <html:submit /> </html:form> 1.4.3 Thành phần Controller Thành phần Controller của Struts Framework là xương sống cho tất cả các ứng dụng Web Struts.Nó được hiện thực bằng một Servlet có tên là org.apache.struts.action.ActionServlet.Servlet này nhận các yêu cầu HTTP và giao quyền điều khiển của mỗi yêu cầu, dựa vào URI của yêu cầu, cho một lớp org.apache.struts.action.Action do người dùng định nghĩa. Lớp Action là nơi mà thành phần Model của ứng dụng được thu lấy và/hay thay đổi. Khi lớp Action đã hoàn tất quá trình xử lý, nó trả về một khóa cho ActionServlet. Khóa này được sử dụng để xác định View nào sẽ trình bày các kết quả xử lý. Bạn có thể hình dung ActionServlet như một đại lý nhận các yêu cầu cho các dịch vụ, và dựa trên các yêu cầu này, tạo ra các đối tượng Action nhằm thực hiện logic nghiệp vụ cần thiết để hoàn tất các nghiệp vụ này 1.5. Ứng dụng Web Tất cả các ứng dụng Struts được đóng gói theo định dạng ứng dụng Web Java. Vì thế trước khi tiếp tục, chúng ta khảo sát sơ lược các ứng dụng Web Jave. Java Servlet Specification 2.2 mô tả các ứng dụng Web Java như sau: “một ứng dụng Web là tập hợp các servlet, các trang HTML, các lớp, và các tài nguyên khác, chúng được đóng gói và chạy trên nhiều container từ nhiều nhà cung cấp”.Nói một cách đơn giản hơn, một ứng dụng Web Java là một tập hợp của một hay nhiều thành phần web được đóng gói cùng với nhau nhằm mục đích tạo ra một ứng dụng hoàn chỉnh để được thực thi ở tầng web của một ứng dụng Enterprise. Dưới đây là danh sách các thành phần có thể được đóng gói trong một ứng dụng web: - Các servlet - Các trang JSP 7 Xây dựng Website bán CD DVD trên nền Struts FrameWork - Các thư viện thẻ tùy biến JSP - Các lớp tiện ích và các lớp ứng dụng - Các tài liệu tĩnh, bao gồm HTML, hình ảnh và JavaScript. - Thông tin mô tả ứng dụng web(siêu thông tin). 1.6. Cấu trúc thư mục Tất cả các ứng dụng web được đặt trong một cấu trúc thư mục chung, cấu trúc thư mục này là một container chứa các thành phần của một ứng dụng Web. Bước đầu tiên trong việc tạo ra một ứng dụng Web là tạo ra cấu trúc cây thư mục này.Bảng 1.2 mô tả một ứng dụng Web mẫu, có tên là stockapp, và liệt kê nội dung mỗi thư mục. Mỗi thư mục sẽ được tạo từ <SERVER_ROOT> của Servlet/JSP container Thư mục Chứa /stockapp Đây là thư mục gốc của ứng dụng Web. Tất cả các file JSP và HTML đều được lưu trữ tại đây. /stockapp/WEB-INF Đây là thư mục chưa tất cả các tài nguyên có liên quan đến ứng dụng mà không nằm trong gốc tài liệu của ứng dụng. Đây là nơi lưu trữ bộ mô tả triển khai ứng dụng Web. Bạn cần để ý rằng thư mục WEB-INF không phải là phần tài liệu công khai. Không file nào trong thư mục này có thể được cung cấp trực tiếp cho client /stockapp/WEB-INF/classes Thư mục này chứa các lớp tiện ích và servlet /stockapp/WEB-INF/lib Thư mục này chứa các file JAR (java Archive) mà ứng dụng Web phụ thuộc vào nó Bảng 1.2 Cấu trúc thư mục của một ứng dụng Web Ứng dụng web cho phép lưu trữ các lớp đã được biên dịch trong thư mục /WEB- INF/classes và /WEB-INF/lib.Khi xử lý, các lớp trong thư mục /classes sẽ được nạp trước, sau đó đến các file JAR trong thư mục /lib.Nếu có các lớp trung nhau ở cả hai thư mục thì các lớp trong thư mục /classes sẽ được ưu tiên. 8 Xây dựng Website bán CD DVD trên nền Struts FrameWork 1.7. Bộ mô tả triển khai ứng dụng Web Xương sống của tất cả các ứng dụng Web là bộ mô tả triển khai ứng dụng Web (Web application deployment descriptor)-một file XML có tên là web.xml nằm trong thư mục /<SERVER_ROOT>/application-name/WEB-INF/.File web.xml mô tả tất cả các thành phần trong ứng dụng Web. Nếu chúng ta sử dụng ứng dụng stockapp thì file web.xml sẽ nằm trong thư mục /<SERVER_ROOT>/stockapp/WEB-INF/.Những thông tin có thể được mô tả trong bộ mô tả triển khai bao gồm: - Các thông số khởi tạo ServletContext - Nội dung được bản địa hóa - Cấu hình phiên làm việc - Các định nghĩa Servlet/JSP - Các ánh xạ Servlet/JSP - Các tham chiếu thư viện thẻ - Câc ánh xạ kiểu MIME - Danh sách file chào mừng - Các trang lỗi - Thông tin bảo mật Bộ mô tả triển khai dưới đây định nghĩa một servlet. Chúng ta sẽ khảo sát chi tiết hơn về file web.xml trong các phần sau. <?xml version=”1.0” encoding=”ISO-8859-1”?> <!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” 9 Xây dựng Website bán CD DVD trên nền Struts FrameWork http://java.sun.com/dtd/web-app_2_3.dtd> <web-app> <servlet> <servlet-name>SimpleServlet</servlet-name> <servlet-class>com.stock.SimpleServlet</Servlet-class? <servlet> </web-app> 1.8. Tomcat JSP/Servlet container Tomcat JSP/Servlet container là một bộ chứa ứng dụng Web (Web application container) mã nguồn mở dựa trên Java, được tạo ra để thực thi các ứng dụng servlet và JavaServer page.Trước khi cài đặt và cấu hình Tomcat, bạn phải đảm bảo các khoản sau: Thành phần Địa chỉ tải về Java SE Development Kit 5 http://java.sun.com/javase/downloads/index_jdk5.js p Apache Tomcat 5.5.8 http://archive .apache.org/dist/tomcat/tomcat-5/ 1.9. Cài đặt và cấu hình Tomcat Khi đã tải được Tomcat và JDK, bạn tiến hành cài đặt theo hướng dẫn đi kèm.Mục đích của chúng ta là cài đặt Tomcat là một Server độc lập trên hệ điều hành Windows Vista. Chúng ta cài đặt Tomcat trong thư mục C:\Program Files\Apache Software Foundation\Tomcat 5.5 và JDK trong thư mục C:\Program Files\Java\jdk1.5.0 Sau khi đã cài đặt Tomcat và JDK xong, bước kế tiếp là thiết lập biến môi trường JAVA_HOME. Thật ra bước này không cần thiết bạn có thể bõ qua. Để thiết lập biến môi trường JAVA_HOME, thực hiện như sau: 1. Mở Control Panel. 10 [...]... dựng Website bán CD DVD trên nền Struts FrameWork CHƯƠNG 5: MÔ HÌNH QUAN HỆ CƠ SỞ DỮ LIỆU 27 Xây dựng Website bán CD DVD trên nền Struts FrameWork 28 Xây dựng Website bán CD DVD trên nền Struts FrameWork CHƯƠNG 6: MỘT SỐ GIAO DIỆN CHÍNH 6.1 Trang chủ 29 Xây dựng Website bán CD DVD trên nền Struts FrameWork 6.2 Chi tiết sản phẩm 6.3 Các chỉ số của sản phẩm 30 Xây dựng Website bán CD DVD trên nền Struts... 23 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.2.2 Qui trình xử lý cơ sở dữ liệu của thành viên 4.2.2.1 Qui trình xử lý đăng nhập thành viên 4.2.2.2 Quy trình xử lý của danh sách sản phẩm yêu thích 24 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.2.2.3 Qui trình xử lý tiêu đề 25 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.2.2.4 Qui trình xử lý bài viết 26 Xây dựng Website. .. 4: SƠ ĐỒ LUỒNG DỮ LIỆU 20 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.1 Sơ đồ ngữ cảnh 4.2 Qui trình xử lý cơ sở dữ liệu 4.2.1 Qui trình xử lý cơ sở dữ liệu của admin 4.2.1.1 Qui trình đăng nhập admin 4.2.1.2 Qui trình xử lý tài khoản 21 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.2.1.3 Qui trình xử lý nhà sản xuất 22 Xây dựng Website bán CD DVD trên nền Struts FrameWork 4.2.1.4... Website bán CD DVD trên nền Struts FrameWork 6.4 Danh sách sản phẩm ưa thích 6.5 Đăng nhập 31 Xây dựng Website bán CD DVD trên nền Struts FrameWork 6.6 Admin 6.7 Thay đổi thông tin tài khoản 32 Xây dựng Website bán CD DVD trên nền Struts FrameWork 6.8 Nhà cung cấp 6.9 Giỏ hàng 33 Xây dựng Website bán CD DVD trên nền Struts FrameWork TÀI LIỆU THAM KHẢO 34 ... Xây dựng Website bán CD DVD trên nền Struts FrameWork CHƯƠNG 3: MÔ TẢ CÁC USECASE 3.1 Use case admin 13 Xây dựng Website bán CD DVD trên nền Struts FrameWork 3 1.1 Quản lý admin Tên use case Tác nhân Mô tả Quản lý admin Admin Use case này cho phép cập nhật, xóa và tìm kiếm một tài khoản đóng vai trò là admin trong cơ sở dữ liệu Điều kiện Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng trên. .. +Nhập thông tin muốn tìm kiếm về sản phẩm 16 Xây dựng Website bán CD DVD trên nền Struts FrameWork + Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ + Nếu tất cả thông tin đều hợp lệ, bắt đầu xử lý tìm kiếm dữ liệu của sản phẩm trong cơ sở dữ liệu và hiển thị kết quả Ngược lại, xử lý sẽ hiển thị kết quả là null 17 Xây dựng Website bán CD DVD trên nền Struts FrameWork 3.2 Use case thành viên... nhiều người.Nhóm chúng em sẽ xây dựng một trang web dựa trên nền Strut FrameWork phép mà người dùng có thể lấy những thông tin liên quan về những bài hát, bộ phim hay trò chơi mới nhất trên thị trường và có thể đặt mua chúng 11 Xây dựng Website bán CD DVD trên nền Struts FrameWork 2.2 Chức năng Trang web sẽ cung cấp các thông tin mới nhất về âm nhạc, phim ảnh và các trò chơi trên thị trường Trang web... tìm kiếm một tài khoản đóng vai trò là thành viên trong cơ sở dữ liệu Admin phải đăng nhập vào hệ thống và nhấp vào nút tương ứng trên web Hệ thống đảm bảo rằng tất cả các thông tin của bảng Tài khoản đã được thêm vào trong cơ sở dữ liệu Xây dựng Website bán CD DVD trên nền Struts FrameWork Bảo đảm thành công Hệ thống đảm bảo rằng tất cả thông tin đã được thêm vào trong cơ sở dữ liệu Dòng sự kiện chính... kết quả Ngược lại, xử lý sẽ hiển thị kết quả là null 19 Xây dựng Website bán CD DVD trên nền Struts FrameWork 3.2.3 Quản lý bài viết Tên use case Tác nhân Mô tả Quản lý bài viết Thành viên Use case này cho phép thêm, cập nhật, xóa và tìm kiếm một sản phẩm trong cơ sở dữ liệu Điều kiện Thành viên phải đăng nhập vào hệ thống và nhấp vào nút tương ứng trên web Bảo đảm tối thiểu Hệ thống đảm bảo rằng tất... thông tin là hợp lệ, bắt đầu xử lý thêm vào dữ liệu trong cơ sở dữ liệu Ngược lại, xử lý sẽ hiển thị thông báo lỗi và yêu cầu nhập lại - Cập nhật: + Nhập vào tên danh sách muốn cập nhật 18 Xây dựng Website bán CD DVD trên nền Struts FrameWork + Xử lý kiểm tra các thông tin cần thiết được nhập vào là hợp lệ + Nếu tất cả thông tin là hợp lệ, bắt đầu xử lý cập nhật dữ liệu trong cơ sở dữ liệu Ngược lại, xử . sản phẩm của chúng tôi 12 Xây dựng Website bán CD DVD trên nền Struts FrameWork CHƯƠNG 3: MÔ TẢ CÁC USECASE 3.1. Use case admin 13 Xây dựng Website bán CD DVD trên nền Struts FrameWork 3. 1.1. Tài: Xây Dựng Website Bán CD DVD Trên Nền Struts FrameWork Tp. Hồ Chí Minh, ngày 6 tháng 1 năm 2015 1 Giáo viên hướng dẫn : PGS. TS. Vũ Thanh Nguyên Xây dựng Website bán CD DVD trên nền Struts. Xây dựng Website bán CD DVD trên nền Struts FrameWork Đại Học Quốc Gia Thành Phố Hồ Chí Minh Trường Đại Học Công Nghệ Thông Tin Khoa Công Nghệ Phần Mềm … Báo Cáo Đồ Án Cuối Kỳ Đề Tài: Xây Dựng