CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Tổng quan về ngôn ngữ Java 1. Nguồn gốc và lịch sử ra đời của Java Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995. Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp.
Java được xây dựng trên nền tảng của C và C++. Do vậy, nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng của C++. Ban đầu Java được thiết kế để làm ngôn ngữ viết chương trình cho các sản phẩm điện tử dân dụng như đầu video, tivi, điện thoại, máy nhắn tin. Tuy nhiên với sự phát triển mạnh mẽ của Java, rất nhiều ứng dụng, trang web đều được viết bằng Java bởi nó nhanh, bảo mật và đáng tin cậy.
Java đầu tiên có tên là Oak - là cây sồi mọc ở phía sau văn phòng của nhà thiết kế, chính ông Jame Gosling, sau này ông thấy rằng đã có ngôn ngữ lập trình tên Oak, do vậy nhóm thiết kế quyết định đổi tên thành Java, Java là tên của một quán cafe trên một hòn đảo ở Indonesia mà nhóm thiết kế Java hay đến công tác. - Phiên bản đầu tiên của Java là JDK Beta được phát hành vào năm 1995. Đặc điểm của Java Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các ngôn ngữ hướng đối tượng + Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính, các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển. + Tính đa hình (Polymorphism): cho phép một phương thức có các tác động khác nhau trên nhiều loại đối tượng khác nhau.
Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số. + Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại. + Tính đóng gói (Encapsulation): Là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối với người sử dụng đối tượng ấy.
3 - Bên cạnh đó Java còn có một số đặc tính khác: + Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngôn ngữ lập trình khác như C và C ++, khi Java được biên dịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo Java (JVM). Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java. + Đơn giản: Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán con trỏ từ C/C++. + Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa một chiều (one way hashing) hoặc mã hóa công cộng (public key).
+ Đa luồng: Với tính năng đa luồng Java viết chương trình có thể thực thi nhiều task cùng một lúc. Tính năng này thường được sử dụng rất nhiều trong lập trình game. Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộ nhớ đối với các đối tượng không được dùng đến. + Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế để thích ứng với nhiều môi trường phát triển.
Các kiểu ứng dụng trong Java - Với sự mạnh mẽ của Java, rất nhiều kiểu ứng dụng, trang web được xây dựng như: Ứng dụng Applets, ứng dụng dòng lệnh (console), ứng dụng đồ họa , JSP/Servlet, ứng dụng mạng socket, ứng dụng cho các thiết bị di động,… 1. Tổng quan về MySQL, Xampp và Tomcat 1. MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database Management System – RDBMS hiện nay được sử dụng phổ biến trên phạm vi toàn cầu. Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình tiêu chuẩn là Client – Server - Cách thức hoạt động của MySQL MySQL tuân theo hoạt động của Kiến trúc Client – Server.
Mô hình này được thiết kế cho người dùng cuối được gọi là khách hàng truy cập tài nguyên từ máy tính trung tâm được gọi là máy chủ sử dụng dịch vụ mạng. Tại đây, các máy khách đưa ra yêu cầu thông qua giao diện người dùng đồ họa (GUI) và máy chủ sẽ cung cấp đầu ra mong muốn ngay khi các hướng dẫn được khớp. Mô hình Client - Server 1. Xampp Là sự tích hợp của 5 phần mềm chính là Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềm này.
Trong đó, chữ X đầu tiên là viết tắt của hệ điều hành mà nó hoạt động như: Linux, Windows hoặc Mac OS X. Nó là chương trình tạo web server - Ưu điểm + Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform, Windows, MacOS, Linux. + Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost. + Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache, PHP, MySql.
Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh. + Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ theo thời gian phù hợp nhất. - Nhược điểm + Do cấu hình khá đơn giản cho nên Xampp hoàn toàn không nhận được sự hỗ trợ về cấu hình Module + Không có phiên bản cụ thể cho từng thành phần của server như PHP, Apache mà phải cài đặt riêng. Apache Tomcat 5 Apache Tomcat là một loại web server HTTP được phát triển bởi Apache Software Foundation, nó có khả năng hỗ trợ mạnh cho các ứng dụng Java thay vì các website tĩnh khác.
Do vậy, nó có khả năng chạy trên nhiều bản Java chuyên biệt như: Java Servlet, JavaServer Pages (JSP), Java EL và WebSocket. - Ưu điểm + Tomcat có độ ổn định cao. + Đa dạng tính năng của nhiều ứng dụng web thương mại. + Đây là phần mềm mã nguồn mở và được sử dụng hoàn toàn miễn phí.
+ Được tích hợp nhiều tính năng bổ sung như: tomcat valves, tomcat manager application hay specialized realm implementation. + Hỗ trợ đa dạng các nền tảng như Windows, Linux, Mac OS,… và chúng đặc biệt mạnh mẽ hơn với WordPress có cộng đồng lớn, sẵn sàng hỗ trợ giải quyết mọi vấn đề. + Các phiên bản của Apache Tomcat trùng với phiên bản và đặc điểm kỹ thuật của Servlet Java hoặc Java servlet API. - Nhược điểm + Hiệu năng sẽ bị ảnh hưởng nếu website có lượng truy cập cực lớn.
+ Có thể gây ra các điểm yếu bảo mật do có quá nhiều lựa chọn thiết lập. Các công cụ, thư viện và công nghệ hỗ trợ 1. HTML HTML là viết tắt của cụm từ Hypertext Markup Language (ngôn ngữ đánh dấu siêu văn bản). HTML được sử dụng để tạo cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes… và HTML không phải là ngôn ngữ lập trình.
- Cấu trúc cơ bản của file HTML: <!DOCTYPE html> <html> <head> <title>Tiêu đề trang web</title> </head> 6 <body> .Phần thân viết ở đây. </body> </html> - Trong đó: <!Doctype>: Phần khai báo chuẩn của html hay xhtml. <head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, javascript… <body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung. CSS CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML).
Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web. - Cấu trúc cơ bản của CSS: Selector{ properties: value; } - Trong đó: -Selector: Là các đối tượng mà chúng ta muốn tác động vào. VD: div, p hay các class, id trong HTML. -Properties: Là các thuộc tính trong css như: background,color,.
-Value: Là các giá trị của thuộc tính. JavaScript JavaScript là một loại ngôn ngữ lập trình được sử dụng chủ yếu trong HTML với mục đích phát triển các ứng dụng internet được chạy trên server và client. Javascript có cấu trúc cơ bản sau: Tất cả những đoạn mã Javascript đều phải đặt trong cặp thẻ mở <script> và thẻ đóng </script>. - Ví dụ: 7 <script language="javascript"> alert("Hello World!"); </script> 1.
Bootstrap Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ dàng thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay như mobile, ipad, tablet,. Bootstrap có những ưu điểm sau: + Rất dễ để sử dụng: Nó đơn giản vì nó được base trong HTML, CSS và Javascript chỉ cần có kiến thức cơ bản về 3 cái đó là có thể sử dụng bootstrap tốt. + Responsive: Bootstrap xây dựng sẵn responsive css trên các thiết bị Iphones, tablets, và desktops. Tính năng này khiến cho người dùng tiết kiệm được rất nhiều thời gian trong việc tạo ra một website thân thiện với các thiết bị điện tử, thiết bị cầm tay.
+ Tương thích với mọi trình duyệt (IE browser >= IE9) 1. JSP JSP là viết tắt của Java Server Page hay Java Scripting Preprocessor – tạm dịch là “Bộ tiền xử lý văn lệnh Java”. Đây là một công nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dạng khác giúp cho trang web sinh động hơn. - Một trang JSP gồm có các thành phần như: + Thẻ Root: Thẻ này sẽ chứa các thuộc tính, thông tin của trang JSP.
+ Comment: Cũng như trang HTML , trong JSP, bạn cũng có thể comment với kí hiệu này: <! your comment –> + Declaration: khai báo biến hoặc phương thức của java ngay trong trang JSP. Nhưng nếu như khai báo quá nhiều trong trang thì sẽ bị nhầm lẫn giữa code JSP và code java. Cú pháp là <%! your code %> + Expression: được sử dụng để chèn một giá trị vào trong trang một cách trực tiếp. Thẻ biểu thức JSP: được sử dụng để đánh giá một biểu thức và định hướng các output đến một trình duyệt web phù hợp.
Cú pháp khai báo là: <%= your code %> 8 + Scriptlet Tag: Cho phép bạn viết mã java trong trang JSP. Cú pháp như sau : <% <i> mã java </ i>%> - Chu kỳ sống của JSP: Hình 2.