Hiện nay, các công nghệtiên tiến phát triển ngày càng mạnh mẽvà được ứng dụng ngàycàng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sống thường nhật của conngười. Một điểm tiêu biểu trong việc phát triển các côngnghệđó phải kểđến việc ứngdụng công nghệthông tin vào hầu khắp các hoạt động. Nhờđó, các công việc được thựchiện nhanh, chính xác và đạt kết quảcao hơn rất nhiều.Khi xã hội ngày càng phát triển, mức sống của người dân được nâng cao thu nhập kinhtếngày càng được cải thiện thì chiếc điện thoại di động không còn trởnên xa lạvới mọingười nữa mà ngược lại nó là một vật dụng không thểthiếu đối với người dân hiện nay.Hầu hết mỗi người đều trang bịcho mình một chiếc điện thoại phù hợp với nhu cầu vàtúi tiền của mình. Tuy nhiên, với cuộc sống ngày càng bận rộn như hiện nay thì việcmuốn mua một chiếc điện thoại mình ưa thích thì người tiêu dùng phải đến tận cửa hàngđểchọn lựa vì thếsẽmất khá nhiều thời gian và công sức.Cùng với các lý do nêu trên, qua tìm hiểu nhóm được biết việc có một webbán điệnthoại trực tuyến sẽgiúp cho khách hàng giảm bớt được thời gian và công sứcphải đến tận cửa hàng đểmua. Muốn lựa chọn cho mình một chiếc điện thoại ưng ý phùhợp với túi tiền thì khách hàng chỉcầnngồi bên chiếc máy tính có kết nối mạng internet làcó thếmua được mặt hàng điện thoại mình cần.Do đó nhóm đềtài chọn thực hiện đềtài “Ứng dụng ngôn ngữlập trình Java trong website bán điện thoại online”.Vì thời gian gấp rút nên website chưa được hoàn thiện như ý muốn, nhưng nhóm đã áp dụng thành công phần nào đó việc sửdụng JavaJSPServletcho website bán điện thoại di động.
TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI Khoa Cơng Nghệ Thơng Tin BÀI TẬP LỚN Lập Trình Java Đề Tài: Xây dựng website bán điện thoại sử dụng JSP/Servlet Giảng Viên Hướng Dẫn: TS Nguyễn Bá Nghiễn Lớp: LT CĐ-ĐH KHMT2 K12 Nhóm Sinh Viên Thực Hiện: Trần Đức Thắng Nguyễn Văn Vận Hà Nội, tháng 11 năm 2018 2017607140 2017607128 Mục Lục LỜI NÓI ĐẦU JAVA Lập Trình Hướng Đối Tượng Java 10 SERVLET/JSP .14 Servlet 14 JSP 16 Tại sử dụng JSP? 18 Kiến trúc JSP 18 JSP Servlet 21 Vòng đời JSP 21 Cú pháp JSP 24 Các thành phần JSP 25 MVC JSP 29 WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG 32 Cài đặt môi trường Servlet/Jsp 32 i Thiết lập phát triển Java 32 ii Thiết lập Web Server – Tomcat/Glassfish .34 iii Thiết lập IDE Netbeans để lập trình .41 iv Cài đặt MySQL 49 v Tải Connector/J 52 Khảo sát phân tích hệ thống 54 Phân tích hệ thống 55 i Biểu đồ phân cấp chức 55 ii Sơ đồ quan hệ sở liệu .56 iii Các bảng sở liệu 57 Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet Giao diện website 58 Đánh giá website 64 i Kiểm thử đánh giá .64 ii Cài đặt .64 iii Thử nghiệm 65 Đánh giá website 66 i Kết đạt 66 ii Hạn chế .66 iii Hướng phát triển 66 TÀI LIỆU THAM KHẢO .67 CÁC THUẬT NGỮ 68 Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet LỜI NÓI ĐẦU Hiện nay, công nghệ tiên tiến phát triển ngày mạnh mẽ ứng dụng ngày nhiều vào lĩnh vực kinh tế, sản xuất đời sống thường nhật người Một điểm tiêu biểu việc phát triển cơng nghệ phải kể đến việc ứng dụng công nghệ thông tin vào hầu khắp hoạt động Nhờ đó, cơng việc thực nhanh, xác đạt kết cao nhiều Khi xã hội ngày phát triển, mức sống người dân nâng cao thu nhập kinh tế ngày cải thiện điện thoại di động khơng trở nên xa lạ với người mà ngược lại vật dụng thiếu người dân Hầu hết người trang bị cho điện thoại phù hợp với nhu cầu túi tiền Tuy nhiên, với sống ngày bận rộn việc muốn mua điện thoại ưa thích người tiêu dùng phải đến tận cửa hàng để chọn lựa nhiều thời gian công sức Cùng với lý nêu trên, qua tìm hiểu nhóm biết việc có web bán điện thoại trực tuyến giúp cho khách hàng giảm bớt thời gian công sức phải đến tận cửa hàng để mua Muốn lựa chọn cho điện thoại ưng ý phù hợp với túi tiền khách hàng cần ngồi bên máy tính có kết nối mạng internet mua mặt hàng điện thoại cần Do nhóm đề tài chọn thực đề tài “Ứng dụng ngơn ngữ lập trình Java website bán điện thoại online” Vì thời gian gấp rút nên website chưa hoàn thiện ý muốn, nhóm áp dụng thành cơng phần việc sử dụng Java/JSP/Servlet cho website bán điện thoại di động Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet JAVA Lập Trình Hướng Đối Tượng Lập trình hướng đối tượng (OOP: Object Oriented Programming) phát triển để khắc phục nhược điểm ngôn ngữ lập trình trước là: ▪ Khơng quản lý thay đổi liệu có nhiều chương trình thay đổi biến dùng chung Vấn đề đặc biệt nghiêm trọng ứng dụng ngày lớn, người ta khơng thể kiểm sốt việc truy nhập liệu đến biến dùng chung Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet ▪ Không tiết kiệm tài nguyên người: Giải thuật gắn liền với cấu trúc liệu, thay đổi cấu trúc liệu thay đổi giải thuật, điều có nghĩa phải viết chương trình lại từ đầu Lập trình hướng đối tượng coi liệu thành phần quan trọng phát triển chương trình khơng cho phép di chuyển cách tự hệ thống Lập trình hướng đối tượng gắn chặt dự liệu với hàm thao tác lên chúng bảo vệ để không cho phép thay đổi tùy tiện từ bên hàm Lập trình hướng đối tượng cho phép chia toán thành thực thể (Entities) gọi đối tượng (Objects) xây dựng liệu hàm xung quanh đối tượng Lập trình hướng đối tượng có tính chất đặc thù chính, ngơn ngữ OOP nói chung có cách để diễn tả: • Tính đóng gói (Encapsulation): Là cách để che dấu tính chất xử lý bên đối tượng, đối tượng khác tác động trực tiếp làm thay đổi trạng thái tác động thông method public của đối tượng đó: Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet • Tính trừu tượng (Abstraction): Có câu "program to interfaces, not to concrete implementations" Nghĩa viết chương trình theo phong cách hướng đối tượng, thiết kế đối tượng, ta cần rút tỉa đặc trưng chúng, trừu tượng hóa thành interface, thiết kế xem chúng tương tác với Nói cách khác, định interface contract mà chúng cần thỏa mãn Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet • Tính thừa kế (Inheritance): Là kỹ thuật cho phép kế thừa lại tính mà đối tượng khác có, giúp tránh việc code lặp dư thừa mà xử lý cơng việc tương tự • Tính đa hình (Polymorphism): Là đối tượng thuộc lớp khác hiểu thông điệp theo cách khác Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet Đối tượng thay đổi kiểu (biến hình) Với ngơn ngữ OOP có kiểu, mượn phát biểu C++ "con trỏ kiểu lớp cha dùng để trỏ đến đối tượng kiểu lớp con" Như khai báo cần khai báo p có kiểu lớp cha, sau trỏ đến đâu kệ cha nó: cha có phương thức m, từ p lơi m gọi chắn gọi được, không cần biết p trỏ đến cha hay Khi lớp B thừa kế từ lớp A, đối tượng lớp B coi đối tượng lớp A, B chứa nhiều thứ thừa kế từ A Với ngơn ngữ OOP khơng có kiểu Ruby, mượn phát biểu phương pháp xác định kiểu kiểu vịt: "nếu p vịt nói vịt, coi vịt" Như lớp C có phương thức m, mà gọi phương thức m từ đối tượng p đó, coi p có kiểu C Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet Java Java ngơn ngữ lập trình Sun Microsystems giới thiệu vào tháng năm 1995 Từ đó, trở thành cơng cụ lập trình lập trình viên chuyên nghiệp Java xây dựng tảng C C++ Do sử dụng cú pháp C đặc trưng hướng đối tượng C++ Vào năm 1991, nhóm kỹ sư Sun Microsystems có ý định thiết kế ngơn ngữ lập trình để điều khiển thiết bị điện tử Tivi, máy giặt, lò nướng, … Mặc dù C C++ có khả làm việc trình biên dịch lại phụ thuộc vào loại CPU Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên đắt Vì vậy, để loại CPU có trình biên dịch riêng tốn Do nhu cầu thực tế đòi hỏi ngôn ngữ chạy nhanh, gọn, hiệu độc lập thiết bị tức chạy nhiều loại CPU khác nhau, môi trường khác “Oak” đời vào năm 1995 đổi tên thành Java Mặc dù mục tiêu ban đầu cho Internet đặc trưng không phụ thuộc thiết bị nên Java trở thành ngôn ngữ lập trình cho Internet Java ngơn ngữ lập trình hướng đối tượng, dùng Java để viết chương trình hướng chức Java giải hầu hết công việc mà ngôn ngữ khác làm Java ngơn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn biên dịch công cụ JAVAC để chuyển thành dạng ByteCode Sau thực thi loại máy cụ thể nhờ chương trình thơng dịch Mục tiêu nhà thiết kế Java cho phép người lập trình viết chương trình lần chạy phần cứng cụ thể Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 10 ii Sơ đồ quan hệ sở liệu Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 56 iii Các bảng sở liệu Bảng user Bảng history Bảng category Bảng product Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 57 Giao diện website Trang chủ Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 58 Đăng nhập Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 59 Đăng ký Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 60 Lịch sử Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 61 Tìm kiếm theo category Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 62 Giỏ hàng Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 63 Chi tiết sản phẩm Đánh giá website i Kiểm thử đánh giá Website bán điện thoại sử dụng JSP/Servlet hoàn thành thực vài chức ii Cài đặt Có thể cài đặt website lên server online tiến hành chạy thử online Vì lý hạn hẹp thời gian nên nhóm chưa triển khai website lên server online Chính tiến hành cài đặt máy local Yêu cầu thiết lập môi trường để website chạy tốt bên hướng dẫn Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 64 iii Thử nghiệm Attach sở liệu vào Schema hệ quản trị sở liệu MySQL Community Tiến hành kết nối chạy thử website Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 65 Đánh giá website i Kết đạt Sau thời gian gấp rút thực tập lớn, nhóm hồn thành vài chức website đạt số kết sau: • Hiểu rõ quy trình bán điện thoại trực tuyến • Xây dựng thành cơng mơ hình website bán điện thoại trực tuyến đáp ứng nhu cầu đặt người tiêu dùng • Tìm hiểu nắm bắt công cụ: Netbeans, MySQL, Tomcat, … • Giao diện đơn giản, dễ dùng • Thực kiểm thử website mức độ lập trình ii Hạn chế Vì thời gian gấp rút nên nhóm không tránh hạn chế thực tập lớn: • Chưa thể cập nhật hết tất sản phẩm có thị trường • Chưa hồn thiện đầy đủ tất chức • Website chưa chạy thử nghiệm trực tuyến iii Hướng phát triển Với nỗ lực cá nhân, nhóm cố gắng hoàn thành yêu cầu đề tài Do thời gian lực có hạn nên website nhóm sâu vào chức bán sản phẩm Nhóm mong muốn hướng website trở thành website bán hàng chuyên nghiệp Cung cấp đầy đủ mặt hàng có thị trường với giá hợp lý, phải chăng, vụ uy tín chất lượng để phục vụ đếnkhách hàng Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 66 TÀI LIỆU THAM KHẢO Java Tutorial http://www.java2s.com/example/java/java.html JSP Tutorial http://www.java2s.com/Tutorials/Java/JSP/index.htm JDBC Tutorial http://www.java2s.com/Tutorials/Java/JDBC/index.htm Java HTML / XML How to http://www.java2s.com/Tutorials/Java/XML_HTML_How_to/index.htm Google Search https://www.google.com Bộ silde giảng trường ĐH Cơng Nghiệp Hà Nội Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 67 CÁC THUẬT NGỮ Keyword What It Does abstract Khai báo lớp, phương thức, interface trừu tượng khơng hiện(instance) cụ thể assert Kiểm tra điều kiện hay sai (thường dùng Unit Test) boolean Khai báo biến kiểu logic với trị: true, false break Thốt khỏi vòng lặp lệnh switch-case byte Kiểu byte với giá trị nguyên chiếm bit (1 byte) case Trường hợp tuyển chọn theo switch (chỉ dùng kèm switch) catch Được sử dụng để bắt ngoại lệ, sử dụng với try để xử lý ngoại lệ xảy chương trình char Kiểu ký tự Unicode, ký tự chiếm 16 bit (2 byte) class Được sử dụng để định nghĩa class const Chưa sử dụng bạn khơng thể dùng ngơn ngữ Java continue Dừng chu trình(iteration) lặp bắt đầu chu trình default Mặc định đươc thực thi khơng có case trả giá trị true (dùng switch case) Dùng vòng lặp while double Kiểu số thực với giá trị biểu diễn theo dạng dấu phẩy động 64 bit (8 byte) else Rẽ nhánh theo điều kiện ngược lại if enum Định nghĩa kiểu liệu enum - gần giống với kiểu liệu mảng phần tử bổ sung thêm phương thức extends Được sử dụng để định nghĩa lớp kế thừa thuộc tính phương thức từ lớp cha final Chỉ biến, phương thức không thay đổi sau định nghĩa Các phương thức final kế thừa override finally Thực khối lệnh đến bất chấp ngoại lệ xảy Được sử dụng try-catch float Kiểu số thực với giá trị biểu diễn theo dạng dấu phẩy động 32 bit for Sử dụng cho vòng lặp for với bước lặp xác định trước Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 68 goto Chưa sử dụng if Lệnh chọn theo điều kiện logic implements Xây dựng lớp cài đặt phương thức từ interface xác định trước import Yêu cầu hay số lớp gói định cần nhập vào để sử dụng ứng dụng thời instanceof Kiểm tra xem đối tượng có phải thể class định nghĩa trước hay không int Kiểu số nguyên với giá trị chiếm 32 bit (4 byte) interface Được sử dụng để định nghĩa interface long Kiểu số nguyên lớn với giá trị chiếm 64 bit (8 byte) native Giúp lập trình viên sử dụng code viết ngôn ngữ khác new Khởi tạo đối tượng package Xác định gói chứa số lớp file mã nguồn private Khai báo biến liệu, phương thức riêng lớp cho phép truy cập lớp protected Khai báo biến liệu, phương thức truy cập lớp cha lớp lớp public Khai báo lớp, biến liệu, phương thức cơng khai truy cập nơi hệ thống return Kết thúc phương thức trả giá trị cho phương thức short Kiểu số nguyên ngắn với giá trị chiếm 16 bit (2 byte) static Định nghĩa biến, phương thức lớp truy cập trực tiếp từ lớp mà không thông qua khởi tạo đôi tượng lớp super Biến tới đối tượng lớp cha switch Sử dụng câu lệnh điều khiển switch case Chỉ thời điểm có đối tượng lớp truy synchronized nhập đến biến liệu, phương thức loại đó, thường sử dụng lập trình đa luồng (multithreading) this Biến tới đối tượng thời throw Tạo đối tượng exception để định trường hợp ngoại lệ xảy throws Chỉ định cho qua ngoại lệ exception xảy Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 69 transient Chỉ định đối tượng serialized, giá trị biến không cần lưu trữ try Thử thực gặp ngoại lệ void Chỉ định phương thức không trả giá trị volatile Báo cho chương trình dịch biết biến khai báo volatile thay đổi tùy ý luồng (thread) while Được sử dụng lệnh điều khiển while Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 70 ... tệp tin mapping servlet Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 30 Chạy thử ứng dụng: Lập Trình Java Xây dựng website bán điện thoại sử dụng JSP/Servlet 31 ... bán điện thoại online” Vì thời gian gấp rút nên website chưa hồn thiện ý muốn, nhóm áp dụng thành cơng phần việc sử dụng Java/JSP/Servlet cho website bán điện thoại di động Lập Trình Java Xây dựng. .. thu nhập kinh tế ngày cải thiện điện thoại di động khơng trở nên xa lạ với người mà ngược lại vật dụng khơng thể thiếu người dân Hầu hết người trang bị cho điện thoại phù hợp với nhu cầu túi tiền