Tìm hiểu về hibernate 4 và struts2 mvc framework và viết ứng dụng xây dựng website bán điện thoại
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỶ THUẬT TP HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO Tiểu luận chuyên nghành ĐỀ TÀI: TÌM HIỂU VỀ HIBERNATE & STRUTS2 MVC FRAMEWORK VÀ VIẾT ỨNG DỤNG XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI Giảng viên hướng dẫn : THS Nguyễn Minh Đạo LỜI CÁM ƠN Chúng em xin chân thành cám ơn trường đại học Sư Phạm Kỹ Thuật TPHCM, khoa đào tạo Chất Lượng Cao tạo điều kiện thuận lợi cho chúng em thực khóa luận Chúng em xin gửi lời cảm ơn chân thành đặc biệt đến thầy Nguyễn Minh Đạo, người tận tình bảo hướng dẫn chúng em thực tiểu luận Bên cạnh đó, chúng em xin gửi lời cảm ơn đến thầy cô giáo, người giảng dạy, tạo điều kiện cho em tích lũy kiến thức quý báu suốt năm học qua Dù cố gắng hoàn thành đề tài tiểu luận yêu cầu, thời gian hạn hẹp khả hạn chế nên chắn có thiếu sót khơng tránh khỏi Chúng em mọng nhận thông cảm tận tình bảo thầy bạn Em xin chân thành cảm ơn! Tóm tắt Công nghệ thông tin ngành ngày phát triển mạnh mẽ giới, theo xu hướng phát triển có nhiều ngơn ngữ lập trình đời để đáp ứng cho nhu cầu phát triển đó, ngơn ngữ lập trình sử dụng phổ biến Java, ngơn ngữ lập trình hướng đối tượng mang nhiều ưu vượt trội Song với phát triển có nhiều cơng nghệ đời hỗ trợ lập trình Java Trong Struts framework sử dụng mạnh mẽ, tối ưu hẳn sử dụng kết hợp với Hibernate 4.0 Đề tài tập trung nghiên cứu Struts Hibernate 4.0 framework, qua xây dựng website bán điện thoại online để làm bật lên ưu điểm công nghệ này.Với công nghệ mà chúng em nghiên cứu, báo cáo cung cấp kiến thức về: Struts1 Struts So sánh Struts Struts Hibernate phiên Hibernate Với website mà chúng em xây dựng, người dùng cung cấp chức sau: Đăng nhập Đăng kí Quản lí giỏ hàng Đặt hàng Xem giỏ hàng Tìm kiếm sản phẩm Đóng góp ý kiến Cịn quản trị viên (administrator) có chức sau: Quản lí tài khoản Quản lí đơn hàng Quản lí danh sách sản phẩm Quản lý danh mục sản phẩm Quản lý nhà sản xuất Quản lý bình luận Chương 1: Tổng Quan 1.1 Lý chọn đề tài Trong lập trình hướng đối tượng, java ngơn ngữ phát triển mạnh có ưu điểm vượt trội so với C# Vì thế, nhóm em chọn theo hướng ngơn ngữ java, tìm hiểu cơng nghệ xây dựng chương trình ứng dụng tiểu luận chuyên ngành này, mở hướng phát triển sau việc thực khóa luận tốt nghiệp 1.2 Công nghệ sử dụng Trong phạm vi đề tài này, nhóm chúng em sử dụng cơng nghệ như: Struts2 Framework Hibernate Framework Trên phần mềm lập trình: Eclipse JEE 4.0, Netbean IDE 7.1 Những thông tin chi tiết mở rộng cơng nghệ nhóm em triển khai chương chương 1.3 Tính khoa học thực tiễn Trong lĩnh vực phát triển ứng dụng Web, công nghệ liên tiếp đời, cải tiến để hỗ trợ cho nhà phát triển, lập trình viên xây dựng Web cách nhanh chóng chất lượng hiệu cao, thêm vào bảo mật chứng thực người dùng, nâng cao tính tin cậy dễ sử dụng, tính thân thiện cao cho người dùng Struts & Hibernate framework tin dùng phổ biến lĩnh vực web java tin trang Web xây dựng nhanh chóng, đẹp mắt bảo mật tốt Hiện nay, sử dụng phổ biến Struts2và Hibernate4 framework 1.4 Mục tiêu nghiên cứu Nghiên cứu viết báo cáo kiến thức Struts2, Hibernate Xây dựng Website Bán Điện Thoại CHƯƠNG 2: NỘI DUNG NGHIÊN CỨU 2.1 Strust Struts nguồn gốc tạo Craig R McClanahan sau chuyển giao cho dự án Jakarta Apache Software Foundation (AFS) vào năm 2000 Vào tháng năm 2001, Struts phát hành phiên 1.0 Sau đó, có nhiều người tham gia đóng góp mã nguồn tài liệu cho dự án Struts ngày trở nên hoàn thiện Struts framework mã nguồn mở phát triển tảng ngơn ngữ Java, JSP nhằm mục đích tạo thành phần chuẩn việc thiết kế tầng Web sử dụng MVC dựa tảng J2EE Với Struts, người lập trình khơng phải quan tâm đến việc xây dựng mơ hình MVC mà cần cấu hình chạy tầng hiển thị dự án, điều cho phép giảm thiểu chi phí đào tạo, thời gian phát triển dự án nhanh cho phép hệ thống chạy ổn định module tích hợp khác Với Struts ta tách làm tầng làm việc riêng biệt cách dễ dàng, thích hợp cho dự án lớn, không bị nhập nhằng việc tạo giao diện, xử lý truy xuất sở liệu Struts xx công nhận framework phổ biến Java, Struts xx đủ chín muồi giải pháp tốt cho nhóm phát triển để giải vấn đề chung Ưu điểm: Struts thiết kế dựa mô hình MVC Dùng để xây dựng ứng dụng web sử dụng sử dụng Java Servlet Jsp Ứng dụng Struts chạy nhiều tảng, dễ học, dễ sử dụng, có kèm thư viện thẻ cho việc phát triển ứng dụng nhanh chóng Struts cho phép lập trình viên: - Phát triển ứng dụng web Jsp/Servlet theo mơ hình MVC - Sử dụng đối tượng có sẵn Framework file cấu hình Xml - Sử dụng mẫu thiết kế xây dựng sẵn Framework - Sử dụng nhiều tính nâng cao (Validation, …) Những thuận lợi sử dụng: - Struts đảm nhiệm phần phức tạp xây dựng ứng dụng MVC - Dễ học, dễ sử dụng - Nhiều tính hỗ trợ - Nhiều cơng cu hỗ trợ bên thứ - Linh động dễ mở rộng - Có cộng đồng đơng đảo - Ổn định không ngừng phát triển - Mã nguồn mở hồn tồn - Tích hợp tốt với J2EE - Hỗ trợ thư viện thẻ hữu dụng - Tích hợp với Tiles Framework Nhược điểm : Khó tìm hiểu, khó chuẩn hóa đánh giá Struts khó áp dụng phương pháp khác 2.2 Strust2 2.2.1 Giới thiệu Strust - Vào tháng 12/2005,Struts webwork framework kết hợp với để phát triển nên Struts Framework Struts Framework thích hợp dễ dàng mở rộng để phát triển ứng dụng web với mức độ khác - Trang chủ: http://struts.apache.org/2.x/ - Struts 2.0x đời kế thừa tảng webwork framework, tổ chức làm việc chuyên nghiệp với web, nhằm giải vấn đề phức tạp, mang tính nghiệp vụ cao, khắc phục nhược điểm struts Struts Framework đơn giản hóa mơ hình Struts Framework hỗ trợ việc xây dựng ứng dụng Web theo mơ hình MVC2 với tiện ích phiên trước rút gọn tập tin cấu hình hay sử dụng Annotation thay cho tập tin cấu hình - Các bạn sử dụng Eclipse Netbean IDE 8.0 kết hợp Tomcat 8.0 (tốt nên dùng mới) - Apache Struts requires: Servlet API 2.4 JSP API 2.0 Java 2.2.2 Lợi ích Strust Struts xây dựng phát triển dựa tảng mơ hình MVC nên thừa hưởng đầy đủ ưu điểm mà mơ hình MVC đem lại - Dễ dàng tùy chỉnh (customize) chu kỳ xử lý (request lifecycles ) cho action - Giải hiệu vấn đề internationlization localization ứng dụng web - Tự động chuyển đổi kiểu liệu chuỗi truyền thống tham số request parameter thành đối tượng lớp liệu java => tiết kiệm thời gian công sức cho lập trình viên - Cung cấp thẻ tag,các themes templates giúp cho việc làm giao diện GUI trở nên dễ dàng,nhanh lẹ tăng tính tái sử dụng - Tính mở rộng (Extensibility) cao thơng qua việc hỗ trợ plug-in - Hỗ trợ portal - Hỗ trợ AJAX - Dễ dàng tích hợp với Spring framework Hibernate 2.2.3 Kiến trúc Strust Framework Hình 2.2.3-1 Kiến trúc Struts2 Framework Action ContextCleanUp filter: sử dụng tích hợp với cơng nghệ khác SiteMesh Plugin 10 21 Chương 5: Kết luận 3.1.2 Menu trái 21 22 Chương 5: Kết luận 3.1.3 Thêm sản phẩm vào giỏ hàng Hình 11 Khi thêm sản phẩm vào giỏ hàng 3.1.4 Màn hình đặt hàng 22 23 Chương 5: Kết luận 3.1.5 Màn hình yêu cầu khách hàng xác nhận đơn đặt hàng Hình 13 Màn hình yêu cầu khách hàng xác nhận đơn đặt hàng 23 24 Chương 5: Kết luận 3.1.6 Mục nhận xét sản phẩm Hình 14 Màn hình show comment người dùng có nhận xét 3.2 Màn hình dành cho Administrator 24 25 Chương 5: Kết luận 3.2.1 Màn hình quản lý Facrory 3.2.2 Màn hình quản lý Comment 3.3 Thiết kế hình sở liệu 3.3.1 Thiết kế sơ đồ use case Hình use case quản lý bán hàng 3.3.2 Mô tả use case Use case Mô tả chung Các actor liên quan Điều kiện tiên Luồng Đặt hàng Use case cho phép người dùng đặt mua sản phẩm trang web kể người dùng khơng có tài khoản User Khơng Use case bắt đầu người dùng nhấn vào nút BuyNow Người dùng chọn sản phẩm Sau người dùng nhấn vào nút PayMent toán Tiếp theo người dùng điến thông tin cần thiết vào (Địa chỉ, họ tên, ngày sinh …) đăng nhập để đặt hàng 25 26 Chương 5: Kết luận Trường hợp ngoại lệ Trạng thái hệ thống sau use case kết thúc Người dùng ấn nút Comfim sau website gửi tới email khách hàng email có đơn hàng chuyển đến trang Congratulations Order Success Hệ thống không ghi nhận đơn đặt hàng người dùng chưa nhập đủ thông tin cần thiết Nếu lỗi kết nối internet, hệ thống thông báo đặt hàng failed Nếu use case thành công, đơn đặt hàng lưu vào sở liệu giỏ hàng reset null 3.3.3 Sơ đồ lớp cho trình đặt hàng 3.3.4 Sơ đồ trình đặt hàng Hình sơ đồ trình đặt hàng 26 27 Chương 5: Kết luận 3.3.5 Sơ đồ mối quan hệ thực thể 3.3.6 Cấu trúc bảng Bảng Category Bảng Comment 27 28 Chương 5: Kết luận Bảng Detail_Oder Bảng Factory Bảng Favorite_product Bảng Member 28 29 Chương 5: Kết luận Bảng Oder Bảng Product Bảng Update_pice 29 30 Chương 5: Kết luận 3.4 Sitemap Website 30 31 Chương 5: Kết luận Chương – KẾT LUẬN Thông qua việc thực đề tài Tìm hiểu Struts2 Framework, Hibernate 4.0 Framework Xây dựng ứng dụng website bán hàng Nhóm nắm bắt kiến thức tản công nghệ Struts Hibernate 4.0, từ áp dụng vào xây dựng ứng dụng J2EE: Website bán hàng trực tuyến Website đảm bảo chức phục vụ cho việc tìm kiếm sản phẩm, đăng kí tài khoản, đăng nhập, quên mật khẩu, chọn lựa sản phẩm, hướng dẫn thao tác thực hiện, hiển thị câu hỏi thường gặp, đặt hàng toán khách hàng Và chức cho người quản trị: quản trị sản phẩm, thơng tin khách hàng, nhóm khách hàng, thơng báo, bình luận, phản hồi, tài khoản, đơn hàng, giao hàng, chi tiết đơn hàng, danh mục, nhà sản xuất, menu 4.1 Ưu điểm Website có giao diện khách quan, ưa nhìn, thao tác đơn giản Hổ trợ đầy đủ chức Website bán hàng trực tuyến Sửa dụng jquery, ajax hổ trợ việc hiển thị Danh mục, menu động, tiện lợi cho việc thay đổi Có chức phụ bình luận sản phẩm, thông báo, phản hồi 4.2 Nhược điểm Một số chức ý tưởng chưa hoàn thiện: Tìm kiếm chưa tối ưu Chưa hổ trợ tốt nghiệp vụ toán Hổ trợ nhiều ngôn ngữ, hệ thống tiền tệ Tốc độ xử lý chậm 31 32 Chương 5: Kết luận 4.2.3 Hướng phát triển Khắc phục nhược điểm kể Tăng tính bảo mật Thêm chức toán trực tuyến Thêm chức tuỳ biến giao diện TÀI LIỆU THAM KHẢO [1] Mkyong, February 9, 2012, Struts Tutorial Được tham khảo từ nguồn link sau http://www.mkyong.com/tutorials/struts-2-tutorials [2] Viral Patel, 23-12-2009, Tutorial: Create Struts Application in Eclipse Được lấy từ http://viralpatel.net/blogs/tutorial-create-struts-2-application-eclipseexample [3] http://kieutrongkhanh.net/index.php/struts-2/72-tng-quan-v-struts-2framework./ [4] http://struts.apache.org/release/2.0.x/docs/ajax-tags.html 32 33 Chương 5: Kết luận 33 ... 5: Kết luận 3 .4 Sitemap Website 30 31 Chương 5: Kết luận Chương – KẾT LUẬN Thơng qua việc thực đề tài Tìm hiểu Struts2 Framework, Hibernate 4. 0 Framework Xây dựng ứng dụng website bán hàng Nhóm... Hiện nay, sử dụng phổ biến Struts 2và Hibernate4 framework 1 .4 Mục tiêu nghiên cứu Nghiên cứu viết báo cáo kiến thức Struts2, Hibernate Xây dựng Website Bán Điện Thoại CHƯƠNG 2: NỘI DUNG NGHIÊN... Java Trong Struts framework sử dụng mạnh mẽ, tối ưu hẳn sử dụng kết hợp với Hibernate 4. 0 Đề tài tập trung nghiên cứu Struts Hibernate 4. 0 framework, qua xây dựng website bán điện thoại online để