Xem Nhiều 3/2023 #️ Học Lập Trình Java Cơ Bản Dễ Dàng Với 10+ Nguồn Giáo Trình Java Đầy Đủ Nhất # Top 12 Trend | Maiphuongus.net

Xem Nhiều 3/2023 # Học Lập Trình Java Cơ Bản Dễ Dàng Với 10+ Nguồn Giáo Trình Java Đầy Đủ Nhất # Top 12 Trend

Cập nhật thông tin chi tiết về Học Lập Trình Java Cơ Bản Dễ Dàng Với 10+ Nguồn Giáo Trình Java Đầy Đủ Nhất mới nhất trên website Maiphuongus.net. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.

Với 12 giáo trình học lập trình Java bằng cả tiếng Việt và tiếng Anh dành cho cả Fresher, Junior và Senior do ITviec chọn lọc, bạn đã có thể tự học Java cơ bản đến nâng cao và nhanh chóng phát triển sự nghiệp IT ngay từ hôm nay.

Tại sao nên học lập trình Java?

Cơ hội việc làm rộng mở:

Theo khảo sát nhanh của ITviec, tại Việt Nam, lập trình Java luôn là một trong những kĩ năng được các công ty săn đón và trả lương cao nhất. Có thể lên tới $3000 cho vị trí Senior Java Developer!

Cơ hội việc làm cho lập trình viên Java cũng hết sức phong phú với hàng trăm vị trí tuyển dụng thường xuyên, cả ở start-up lẫn các tập đoàn lớn.

Xem việc làm Java Developer chất trên ITviec

Miễn phí:

Chi phí là vấn đề quan trọng cần cân nhắc khi chọn lựa công nghệ để phát triển phần mềm. Việc Java miễn phí ngay từ đầu giúp nó được các tổ chức và lập trình viên rất ưu ái.

Bộ sưu tập thư viện mã nguồn mở phong phú:

Apache, Google và những tổ chức lớn khác đã đóng góp rất nhiều vào các thư viện mã nguồn mở, giúp Java phát triển nhanh và dễ dàng hơn, đồng thời tiết kiệm chi phí hơn. Trước khi lập trình một chức năng, bạn nên thử google trước đã. Rất có khả năng là nó đã được một ai đó viết code, test sẵn.

Và cũng nhờ bộ sưu tập thư viện mã nguồn mở đồ sộ mà Java “phủ sóng” khắp mọi nơi.

Hỗ trợ làm tài liệu với Javadoc:

Bên cạnh đó, Javadoc cũng cung cấp một API để tạo doclets và taglets, giúp người dùng phân tích cấu trúc của một ứng dụng Java.

Cộng đồng người dùng mạnh, năng động và gắn kết:

Cộng đồng người dùng hùng mạnh về cả số lượng và chất lượng là yếu tố then chốt làm nên thành công của một ngôn ngữ.

Java rất may mắn có được một cộng đồng đông đảo với vô số website, diễn đàn, tổ chức mã nguồn mở, hội nhóm, chuyên gia… luôn chia sẻ, tương trợ lẫn nhau. Ở cuối bài viết này, ITviec có giới thiệu một vài cộng đồng Java mà bạn có thể và rất nên tham gia.

Bắt đầu học Java cơ bản như thế nào?

Để bắt đầu học ngôn ngữ lập trình Java cơ bản, bạn nên có các kiến thức cơ bản về lập trình, ngôn ngữ C, và lập trình hướng đối tượng trước đã. Sau đó, bạn có thể bắt đầu tìm hiểu sâu hơn về công nghệ Java như:

Core Java

RMI và JODBC

Java Beans và JSP/Java Serverlet

Enterprise Java Beans

J2ME

Tài liệu học lập trình Java cơ bản

I. Tài liệu học lập trình Java cơ bản tiếng Việt

1. Study and Share

Study and Share có tổng cộng 58 chương. Chương trình Java Cơ Bản do Study and Share thực hiện rất cơ bản, mạch lạc, dễ hiểu. Đặc biệt phù hợp cho newbie và những ai muốn nhanh chóng nắm bắt kiến thức lập trình Java cơ bản.

2. Giáo trình Java cơ bản (ĐH Công nghệ – ĐHQG HN)

Giáo trình Java cơ bản tiếng Việt PDF này được biên soạn tương đối kĩ.

Sách cung cấp các kiến thức từ cơ bản cho đến một số kĩ thuật nâng cao về phương pháp lập trình hướng đối tượng nói chung, ngôn ngữ Java nói riêng. Nội dung chính:

Ngôn ngữ lập trình hướng đối tượng: lớp và đối tượng, đóng gói/che giấu thông tin, kế thừa và đa hình, xử lý ngoại lệ và lập trình tổng quát.

Ngôn ngữ lập trình Java: các đặc trưng cơ bản của ngôn ngữ, các thư viện cơ bản, cách tổ chức vào/ra dữ liệu.

Lưu ý:

3. Think Java (tiếng Việt) được dịch bởi “Blog của Chiến”

Là một trong những tài liệu Java tiếng Việt hiếm hoi được biên dịch kĩ lưỡng và hoàn toàn miễn phí. Sách Java này được soạn riêng cho học viên chuẩn bị thi Computer Science Advanced Placement (AP) Exam, song cũng phù hợp với bất kì ai muốn tự học Java cơ bản.

Think Java được viết dựa theo How to Think Like a Computer Scientist – một ebook nổi tiếng với rất nhiều phiên bản cho các ngôn ngữ lập trình cụ thể như Java, Python, C++, OCaml.

Ưu điểm:

Ngắn gọn, thực tế. Sách tập trung trình bày những nội dung cốt lõi của ngôn ngữ Java chứ không ôm đồm nhiều kiến thức hàn lâm.

Hướng dẫn cách phát triển và debug chương trình.

Nghiên cứu cụ thể GridWorld (vốn là một phần của đề thi AP). Bao gồm: kiến thức căn bản, bài tập thực hành GridWorld.

Về Blog của Chiến:

Blog chuyên dịch miễn phí tài liệu về khoa học tự nhiên, khoa học máy tính và các ngôn ngữ lập trình sang tiếng Việt. Tài liệu được dịch thường là trọn vẹn một phần hoặc cả cuốn sách. Dịch giả rất cẩn trọng khi chọn lựa sách để dịch, cả về nội dung lẫn vấn đề bản quyền. Chất lượng dịch thuật cũng rất tốt.

Ngoài Think Java, bạn có thể tìm đọc một số đầu sách hay đã được dịch sang tiếng Việt trên Blog của Chiến như:

II. Tài liệu học lập trình Java cơ bản tiếng Anh

4. Website chính thức của Java

Nếu muốn học lập trình Java cơ bản “chuẩn không cần chỉnh”, thì website chính thức của Java là tài liệu bạn không thể bỏ qua. Ở đây, bạn có thể tìm thấy mọi thông tin cần thiết từ A đến Z, ví dụ:

Các khóa học lập trình Java online miễn phí.

Blog cập nhật tin tức mới về Java.

Download Java (cho cả Developer và doanh nghiệp).

5. Free Java Guide

Đúng như tên gọi, tài liệu Java online miễn phí này sẽ cung cấp cho bạn hàng loạt tutorials cực kì chi tiết về ngôn ngữ lập trình Java cơ bản. Ngoài ra, bạn cũng có thể tìm thấy các câu hỏi phỏng vấn Java thường gặp.

Ưu điểm:

6. Java World

Và, đúng như tên gọi, nguồn tài liệu Java “toàn tập” này có đủ mọi thứ, từ tutorials, open source Java, cho đến cả cơ hội nghề nghiệp cho các Java developer “chất”.

7. Javaranch

Website cũng cung cấp bộ sách học Java với phần review chi tiết. Ngoài ra, bạn có thể đăng kí kiểm tra kĩ năng lập trình Java để có chứng chỉ (tính phí).

Trên hết, JavaRanch sẽ dễ dàng “đốn tim” bạn ngay từ cú nhấp chuột đầu tiên nhờ giao diện thân thiện và hết sức dễ thương!

8. Coursera

Không cần phải giới thiệu nhiều, Coursera đã quá nổi tiếng với những khóa học lập trình hoàn toàn miễn phí nhưng vô cùng chất lượng.

Theo kiến nghị từ Coursera, nếu mỗi tuần bạn bỏ ra khoảng 9 giờ để học thì bạn có thể kết thúc khóa trong vòng 4 tháng. Tất nhiên, bạn có thể chủ động thời gian để đẩy nhanh tiến trình học nếu muốn.

9. Codecademy

Chỉ với 25 giờ học xoay quanh lập trình hướng đối tượng (OOP) và những bài thực hành sát với thực tế, bạn đã có thể làm chủ những kiến thức Java cơ bản.

Hơn 2 triệu học viên đã đăng kí, bao gồm nhân viên của những tập đoàn đa quốc gia lớn như Google, Facebook, IBM…. Bạn sẽ là người tiếp theo chứ?

10. Sololearn

Vẫn là một trang web học Java hoàn toàn miễn phí với 65 bài học được chuẩn bị khá chi tiết. Mục tiêu của khóa học này là giúp bạn viết code sạch trong thời gian nhanh nhất.

Điều quan trọng là khóa học được thiết kế cho những người chưa biết gì, bạn không cần phải tìm hiểu trước mà có thể ngay lập tức bắt tay vào việc học tại nhà.

III. Cộng đồng Java Developer

11. Java Programming Community

Tại diễn đàn của các Java Developer tại Việt Nam, giúp bạn giao lưu, học hỏi từ người đi trước; cũng như chia sẻ kinh nghiệm, đóng góp cho cộng đồng.

Đây là một nguồn tài liệu Java vô cùng quý giá vì đây hoàn toàn là những chia sẻ chân thật. Với những bạn đang tìm hiểu Java cơ bản thì đây sẽ một nơi để bạn có thể đặt câu hỏi và giao lưu, làm giàu kiến thức.

12. Cộng đồng lập trình Java

Hội nhóm dành riêng cho Java Developer trên Facebook. Giống như nhiều hội nhóm mở khác, nội dung của Cộng đồng lập trình Java hơi “loãng”. Tuy nhiên, nếu chịu khó “đãi cát tìm vàng”, bạn vẫn có thể tìm được những thông tin thú vị từ đây.

Lập Trình Mạng Với Java

Thuật ngữ lập trình mạng với java đề cập đến việc viết các chương trình thực hiện trên nhiều thiết bị (máy tính), trong đó các thiết bị được kết nối với nhau.

Gói chúng tôi của J2SE APIs chứa một tập hợp các lớp và giao tiếp cung cấp giao thức truyền thông ở mức độ thấp.

Gói chúng tôi cung cấp hỗ trợ cho hai giao thức mạng phổ biến sau:

TCP – TCP là viết tắt của Transmission Control Protocol. TCP thường được sử dụng qua giao thức Internet (Internet Protocol), được gọi là TCP/IP. Giao thức này cho phép giao tiếp tin cậy giữa hai ứng dụng.

UDP – UDP là viết tắt của User Datagram Protocol, một giao thức cho phép truyền dữ liệu giữa các ứng dụng. Giao thức này không kiểm tra đến việc gói tin đã được gửi hay chưa, nên đây là giao tiếp không tin cậy giữa hai hoặc nhiều ứng dụng.

TCP và UDP là các giao thức cốt lõi của việc kết nối các thiết bị công nghệ với nhau. Ngoài ra, trong việc lập trình mạng với java chúng ta có thể sử dụng FTP, công nghệ J2EE…

Lập trình Socket

Socket cung cấp cơ chế truyền thông giữa hai máy tính sử dụng TCP. Một máy khách tạo ra socket để kết nối đến với máy chủ.

Lớp java.net.Socket đại diện cho một socket, và lớp java.net.ServerSocket cung cấp một cơ chế cho chương trình máy chủ để lắng nghe khách hàng và thiết lập kết nối với chúng.

Các bước thiết lập kết nối TCP giữa hai máy tính sử dụng socket:

Máy chủ khởi tạo một đối tượng ServerSocket với một cổng giao tiếp (port).

Máy chủ gọi phương thức accept() của lớp ServerSocket. Phương pháp này đợi cho đến khi một máy khách kết nối đến máy chủ trên cổng đã cho.

Trong khi máy chủ đang chờ đợi, một máy khách khởi tạo đối tượng Socket, xác định tên máy chủ (IP hoặc domain) và số cổng để kết nối.

Đối tượng socket của máy khách cố gắng kết nối máy khách tới máy chủ đã chỉ định và số cổng. Nếu truyền thông được thiết lập, máy khách bây giờ có một đối tượng socket có khả năng giao tiếp với máy chủ.

Ở phía máy chủ, phương thức accept() trả về một tham chiếu đến một socket mới trên máy chủ được kết nối với socket của máy khách.

Sau khi kết nối được thiết lập, máy chủ và máy khách có thể truyền và nhận thông tin thông qua OutputStream và InputStream.

Lớp ServerSocket

Lớp java.net.ServerSocket được sử dụng bởi các ứng dụng máy chủ để tạo ra một một cổng và lắng nghe các yêu cầu của máy khách.

Các Constructor của lớp ServerSocket

Nếu Constructor ServerSocket không ném một ngoại lệ, có nghĩa là bạn đã khởi tạo thành công ServerSocket với cổng được chỉ định và đã sẵn sàng cho các yêu cầu của máy khách.

Các phương thức của lớp ServerSocket

Khi ServerSocket gọi accept(), phương thức này sẽ không return cho đến khi một client kết nối đến. Sau khi máy khách (client) kết nối, ServerSocket tạo một Socket mới trên một cổng không xác định và trả về một tham chiếu đến Socket mới này. Hiện kết nối TCP giữa máy khách và máy chủ và có thể truyền tin.

Lớp Socket

Lớp java.net.Socket đại diện cho socket mà cả máy khách và máy chủ sử dụng để liên lạc với nhau. Máy khách nhận được một đối tượng Socket bằng cách khởi tạo một, trong khi máy chủ lấy một đối tượng Socket từ giá trị trả về của phương thức accept().

Các Constructor của lớp Socket

Lớp Socket có năm Constructor mà một máy khách sử dụng để kết nối với một máy chủ như sau:

Các phương thức của lớp Socket

Các phương thứ của lớp InetAddress

Ví dụ về lập trình socket

Ví dụ về Socket Client

ClientExample sau đây là một chương trình client kết nối đến một server bằng cách sử dụng một socket và gửi một lời chào, và sau đó chờ đợi cho một đáp ứng từ máy chủ.

package vn.viettuts.client; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class ClientExample { /** * main * * @author viettuts.vn * @param args : server name and server port */ public static void main(String[] args) { String serverName = args[0]; int port = Integer.parseInt(args[1]); try { System.out.println("Connecting to " + serverName + " on port " + port); Socket client = new Socket(serverName, port); System.out.println("Just connected to " + client.getRemoteSocketAddress()); OutputStream outToServer = client.getOutputStream(); DataOutputStream out = new DataOutputStream(outToServer); out.writeUTF("Hello from " + client.getLocalSocketAddress()); InputStream inFromServer = client.getInputStream(); DataInputStream in = new DataInputStream(inFromServer); System.out.println("Server says " + in.readUTF()); client.close(); } catch (IOException e) { e.printStackTrace(); } } }

Ví dụ về Socket Server

Chương trình ServerExample sau đây là một ví dụ về một ứng dụng server sử dụng lớp Socket để lắng nghe cho các client trên một số cổng xác định bởi một đối số dòng lệnh.

package vn.viettuts.server; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; public class ServerExample extends Thread { private ServerSocket serverSocket; public ServerExample(int port) throws IOException { serverSocket = new ServerSocket(port); serverSocket.setSoTimeout(30000); } public void run() { while (true) { try { System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "..."); Socket server = serverSocket.accept(); System.out.println("Just connected to " + server.getRemoteSocketAddress()); DataInputStream in = new DataInputStream(server.getInputStream()); System.out.println(in.readUTF()); DataOutputStream out = new DataOutputStream( server.getOutputStream()); out.writeUTF("Thank you for connecting to " + server.getLocalSocketAddress() + "nGoodbye!"); server.close(); } catch (SocketTimeoutException s) { System.out.println("Socket timed out!"); break; } catch (IOException e) { e.printStackTrace(); break; } } } /** * main * * @author viettuts.vn * @param args */ public static void main(String[] args) { int port = Integer.parseInt(args[0]); try { Thread t = new ServerExample(port); t.start(); } catch (IOException e) { e.printStackTrace(); } } }

Run ứng dụng

Từ eclipse export ra các file jar như sau:

Run 2 file chúng tôi và chúng tôi trên commnad line ta được kết quả như sau:

Run chúng tôi java -jar chúng tôi 6677

Run chúng tôi java -jar chúng tôi [serverIP] 6677

Học Lập Trình Hướng Đối Tượng Với Java

Hầu hết sinh viên chuyên ngành CNTT đã được học về lập trình hướng đối tượng và cả ngôn ngữ lập trình Java. Tuy nhiên, nhiều bạn vẫn thấy khó hiểu về lập trình hướng đối tượng cũng như cách áp dụng nó vào lập trình thực tế.

1. Lập trình hướng đối tượng là gì?

Trong lập trình thông thường chúng ta có 02 hướng tiếp cận để phân tích bài toán trước khi tiến hành lập trình là hướng cấu trúc(Structered Programming) và hướng đối tượng (Object Oriented Programming).

Lập trình có cấu trúc đã phát triển từ đầu những năm 1970 và đã khẳng định được ưu điểm của nó thông qua hàng loạt ứng dụng đã được phát triển và các ngôn ngữ lập trình hỗ trợ như Pascal, C… Với ưu điểm là cấu trúc rõ ràng, đơn giản, lập trình có cấu trúc đã phát triển mạnh trong giai đoạn đầu của ngành phần mềm với các ứng dụng có độ phức tạp thấp nhưng khi phải giải quyết các bài toán phức tạp hơn thì Lập trình có cấu trúc trở nên khó điều kiển và dần mất ưu thế về Lập trình hướng đối tượng.

Lập trình hướng đối tượng là phương thức tiếp cận bài toán theo hướng xem hệ thống là hoạt động của các đối tượng như trong thực tế, sau đó mô tả chúng và cho chúng tương tác với nhau để tạo nên hệ thống. Với sự tiếp cận như vậy giúp lập trình hướng đối tượng tư duy gần với thực tế hơn (lập trình có cấu trúc tư duy thiên về toán hơn) và độ phức tạp cũng chia ra cho việc mô tả các đối tượng và hành vi của nó nên độ phức tạp của bài toán cũng được chia nhỏ ra.

Chúng ta xem xét ví dụ sau để thấy được ưu điểm của Lập trình hướng đối tượng:

Ví dụ chúng ta cần viết một ứng dụng để mô tả một trận đấu bóng đá. Chúng ta biết trận đấu gồm 22 cầu thủ, 04 trọng tài, khán giả, sân bóng và quả bóng. Trong đó mỗi hoạt động của quá bóng đều chi phối hoạt động của các thành phần còn lại. Ví dụ khi quả bóng được phát đi và chuẩn bị rơi xuống 1 điểm trên sân mỗi cầu thủ phải có phản ứng tương ứng hợp lý và trọng tài cũng phải di chuyển hợp lý, khán giả cũng phải có hành động phù hợp …

Nếu tiếp cận theo lập trình có cấu trúc chúng ta phải xét từng trường hợp cụ thể (22 cầu thử + 04 trọng tài + sân bong = 27 đối tượng phải xem xét) để điều khiển cho hợp lý làm cho bài toán vô cùng phức tạp. Còn lập trình hướng đối tượng không làm vậy, nó chia hệ thống ra thành các nhóm đối tượng như sau: Cầu thủ (có thể phân biệt thủ môn riêng), Trọng tài, Khán giả, Sân bóng và Quả bóng. Sau đó định nghĩa tính chất và hành vi của từng loại đối tượng. Ví dụ: cầu thủ có các chỉ số như Vị trí đảm nhận, tốc độ chạy, khả năng sút, mức độ tranh chấp, đánh đầu … và định nghĩa ngữ cảnh và hành vi của các cầu thủ theo ngữ cản đó. Ví dụ một cầu thủ thấy bóng cách xa 30 mét thì không cần di chuyển theo bóng để giữ vị trí, nếu cách xa 20 mét thì di chuyển theo hướng bóng để đón bóng, tốc độ di chuyển càng gần bóng càng nhanh chẳng hạn …. Sau đó mô tả cho 22 cầu thủ. Sau đó tạo ngữ cảnh cho trận đấu và các đối tượng sẽ hành xử theo hành vi đã được mô tả để tạo nên ứng dụng.

Tất nhiên, đây chỉ là ví dụ để bạn có ý niệm còn cài đặt nó không hề đơn giản cho người mới học lập trình hướng đối tượng, chúng ta sẽ thực hiện với bài toán dễ hơn để bạn dễ hình dung và thực hiện.

Lập trình hướng đối tượng đã thể hiện tính ưu việt của nó mà bằng chứng là hầu hết các ngôn ngữ lập trình hiện đại đều hỗ trợ mô hình này như C++, Java, C#, PHP… Ở thời điểm này nếu không rành về Lập trình hướng đối tượng thì quả là thiệt thòi cho một Lập trình viên.

2. Bài toán và phân tích

Trong bài viết này, chúng ta sẽ cài đặt giả lập hoạt động của một máy ATM. Máy ATM cho phép người dùng đăng nhập, rút tiền, chuyển tiền, xem số dư, đổi mật khẩu.. Trong ví dụ này chúng ta giới hạn các chức năng của máy ATM gồm: đăng nhập, rút tiền, chuyển tiền, xem số dư, đổi mật khẩu và sẽ giảm độ phức tạp đến mức tối đa.

Biểu đồ chức năng của hệ thống ATM như sau:

(Làm thế nào để thấy được các bạn vui lòng đọc bài này: Class Diagram )

Khách hàng (Customer)

Tài khoản (Account)

Thiết lập thêm các thuộc tính của các lớp này chúng ta có sơ đồ lớp như sau:

Để cài đặt ứng dụng trong Java chúng ta phải cài đặt một lớp ứng dụng có tên là ATMApp(ứng dụng ATM) để sử dụng lớp Account này nhằm tạo ra chức năng cho khách hàng sử dụng. Lúc đó sơ đồ lớp như sau:

Bây giờ chúng ta sẽ cài đặt ứng dụng này trên Java.

3. Cài đặt ứng dụng ATM trên Java

Bước 1. Tạo dự án ATMApp

Khởi động NetBean và tạo một dự án ATMApp như hình bên dưới.

public class Account { }

Chúng ta sẽ xem hình mô tả lớp Account ở trên để tiến hành cài đặt.

Tiếp tục chúng ta sẽ code Contructor để khởi tạo giá trị cho lớp:

Điều này cũng giống như chúng ta đeo bảng tên mà tất cả các thông tin cá nhân của mình hiên ra trước mắt mọi người và nguy hiểm hơn là người khác có thể thay đổi thông tin này mà không cần hỏi ý kiên của chúng ta. Ví dụ ai đó tự nhiên lại thay đổi tên của bạn mà không hỏi ý kiến bạn có đồng ý hay không thì quá nguy hiểm.

Do vậy, lập trình hướng đối tượng khuyến khích bạn viết private cho các thuộc tính của đối tượng và viết các hàm get() và set() để lấy hoặc thay đổi giá trị của thuộc tính. Ví dụ đối với thuộc tính accountNo cần 02 phương thức như sau:

Tiếp tục bổ sung các hàm Get và Set cho các thuộc tính còn lại chúng ta sẽ hoàn thiện lớp Account:

– Tạo ra một tài khoản (đối tượng của lớp Account)

Trước tiên chúng ta phải tạo ra một tài khoản của khách hàng cần giao tiếp. Trong thực tế chúng ta phải lấy từ CSDL lên(phần này sẽ bàn ở các bài sau) nhưng ở đây để đơn giản chúng ta gán trực tiếp.

Thủ tục đăng nhập (login)

import java.util.Scanner;

Thực hiện đoạn lệnh trên để kiểm tra chức năng Login.

-Tiếp theo chúng ta sẽ viết các thủ tục rút tiền, xem số dư tài khoản như sau:

Để gọi 2 hàm trên chúng ta vào hàm Main và thêm đoạn lệnh sau:

Qua ứng dụng trên các bạn có thể thấy việc lập trình theo mô hình hướng đối tượng giúp chúng ta mô tả bài toán sát với cách thực hiện trong mô hình thực tế từ đó giúp bạn dễ hình dung hơn.

Bài viết này mới là phần ứng dụng cơ bản về lập trình hướng đối tượng trên Java, trong loạt bài tiếp theo Tôi sẽ giới thiệu các bạn cách cài đặt theo MVC và chuyển đổi dữ liệu từ Database lên đối tượng qua ORM(Object Relation Mapping). Mời các bạn đón đọc.

Nếu các bạn vẫn thấy khó hiểu có thể đăng ký lớp học thử tại iViettech. Đăng ký học thử 1 tuần miễn phí tại iViettech.

Bài tiếp: Cài đặt mô hình MVC(Model – View – Controller) trong Java

Lập Trình Web Với Java Lộ Trình Học Java Web Backend Từ A Đến Z Cho Người Mới

Dạo gần đây admin gặp rất nhiều bạn mới chưa biết gì học java web hỏi là để , , thì họ nên bắt đầu từ đâu, mới bắt đầu thì học như thế nào cho hiệu quả, do đó hôm nay mình sẽ hướng dẫn các bạn hiệu quả phần 1

1 số quan điểm về các bạn hiện nay học lập trình web với java!

Hình 1: Cảm giác bất an khi 1 số anh em học lập trình web với java sai cách

1 số sai lầm của 1 vài thanh niên là bỏ qua những kiến thức nền tảng của Java Web, cụ thể là JSP, Servlet, JDBC mà đú qua luôn nào là SPRING, nào là JPA, nào là HIBERNATE và thậm chí js không biết nhưng đi học Angularjs, Reactjs cơ !

Bản thân mình cũng đang dạy Java Web cơ bản đến nâng cao, mình có hỏi các bạn trong lớp về các kiến thức nền và thật đáng buồn là 99% không biết gì (không biết gì ở đây là các bạn học không đàng hoàng, học qua loa, học chỉ để là mình đã từng học chứ các bạn chưa thực sự hiểu cách học như thế nào, cụ thể như là: JDBC hoạt động ra sao, cách nhận request trong Servlet có mấy cách, nêu tên từng cách, commit, rollback trong JDBC là gì, MVC trong JSP Servlet em hiểu như thế nào là hợp lý …) hàng tá câu hỏi mà tui chỉ nhận được cái lắc đầu dễ thương, thì tui tin các anh em ngoài kia cũng không ngoại lệ.

Rồi, đi vô luôn, không vòng vo nữa:

Đầu tiên, làm ơn mấy thím mà chuyển ngành, chuyển nghề hay mới học lập trình mà muốn học Java Web thì làm ơn học lập trình cơ bản trước giùm cái. Mua sách hay lên mạng xem nội dụng của “kĩ thuật lập trình”, “Cấu trúc dữ liệu giả thuật” … xem nó dạy gì trong đó, học tầm 1 năm ok rồi thì chuyển qua học Java cơ bản

Còn thím nào đã có cơ bản về lập trình rồi, đã có học qua Java cơ bản (chú ý học ở đây tự là tự build được 1 cái project gì đó nho nhỏ như quản lý học sinh, sinh viên … viết trên nền console rồi thì mới nói là biết nha các tình yêu!) thì học cơ sở dữ liệu dùm cái, học để biết các quan hệ trong Database là những gì, chúng được sử dụng như thế nào, cách viết và sử dụng các câu sql ra làm sao …

Rồi những thím nào mà đã có cơ bản về lập trình, đã biết 1 chút qua Java cơ bản, cơ sở dự liệu thì bây giờ xem qua Java Web mới hợp ly hen, nói rồi học lập trình và cụ thể là lập trình Java Web không phải là chuyện như ăn 1 bát cơm hay uống 1 ly nước, phải có tuần tự thì mới ok được hén

Hướng dẫn học jsp servlet trong lập trình web với java

Hình 2: Học jsp trong lập trình web với java

Học cách build 1 website đơn giản, cụ thể lấy web tin tức là dễ nhất, sử dụng các công nghệ: jsp, servlet, jdbc. Tui có 1 khóa JSP Servlet JDBC miễn phí đây, học đi cho máu LINK KHÓA HỌC

Nói vậy thì cha nào chả nói được phải hơm, ok phân tích sâu hơn cho nghe

Học JSP: do chúng ta tập trung backend là chính (tui không phải fullstack do đó đừng nói tui tư vấn fullstack nha, plz) nên giao diện dùng bootstrap cho tui, vì sao vì nó dễ học. Để xứ lý logic trên giao diện, dùng jquery cho tui

Kiểu gì cũng có các em vào chém nghe đâu jquery sắp chết, chết cái quần ý, hệ sinh thái của nó còn cả nùi, nói chết là chết ah. Rồi tại sao lại học jquery, vì nó cũng dễ thế thôi.

Chúng ta không chuyên front-end do đó, hãy tìm những thứ dễ nhất mà học, đừng tỏ ra nguy hiểm rồi lại bảo Java Web khó.

Ok đó mới là cách thiết kế giao diện và xử lý logic trên giao diện, JSP có những thứ ngon hơn nhiều đó là các thư viện support cho JSP như JSTL, Function … học tới đâu cần thì import chứ h nói ra thì nhiều lắm

Servlet: tìm hiểu @WebServlet để hiểu cách gửi request như thế nào, RequestDispatcher là gì, cách bind data ra JSP (view) dùng request.setAttribute ra làm sao

Đặc biết áp dụng kiến trúc MVC vào thiết kế cho gọn, tách biết phần code cũng như logic java và html làm các phần riêng biệt. Chứ tui thấy trên mạng chỉ code hết vào JSP (Html và Java răng môi lẫn lộn mà tui phát hơn)

Học cách chia layer theo mô hình 3-tier, chia package rõ ràng.

Vậy là sơ qua được cái JSP, Servlet rồi hen, tiếp tới JDBC nè. Nói thật ra cái này chỉ là học cách sử dụng thôi, các nội dung cần học trong này bao gồm:

Học jdbc trong lập trình web với java jsp servlet

Hình 3: Học JDBC trong lập trình web với java

JDBC: học cách hoạt động của nó, flow nó chạy như nào khi thao tác dữ liệu cũng như lấy dữ liệu lên. Tìm hiểu về PreparedStatement, ResultSet, commit, rollback, transaction trong JDBC là như thế nào

Khi học JDBC nó khá là thô sơ do đó hãy tìm cách tự build framework riêng sử dụng JDBC, áp dụng các kĩ thuật nâng cao trong Java như Java Reflection, Java Annotation, Java Generic vào mà làm (mấy cái này tui thề các bạn còn non và xanh lắm)

Học restful web service trong lập trình web với java jsp servlet

Hình 4: Học restful web service trong lập trình web với java học jsp servlet

Cách thao tác giữa JSP và Servlet, cố gắng tìm hiểu kĩ thuật Restful Web Service, Ajax để sau này qua Spring MVC hay Spring Boot code gần như tái sử dụng lại được 100% chứ không phải đi viết lại

Vì khi chúng ta viết theo kỹ thuật Restful Web Service, Data tương tác nó sử dụng là json do đó bất kì công nghệ hay ngôn ngữ gì thì tương tác dùng json cũng apply được hết, chứ nếu bạn bạn áp dụng theo kĩ thuật của từng công nghệ, tui thế bạn phải rework lại code là chuyện thường ngày ở huyện !

Đó sơ sơ JSP Servlet JDBC là có nhiêu đó thôi,vậy chứ nội cái việc bạn tự build framework dùng JDBC và áp dụng Restful Web Service vào là cũng máu ra máu, nước mắt ra nước mắt rồi đó hen

Thời gian cho cái đống này cũng phải 6 tháng. Ok fine, vậy là 1 năm 6 tháng rồi hen,lập trình là di sản, đừng nghĩ 1, 2 ngày là có thể ra cơm cháo

Sau khi học basic xong rồi thì xem thị trường hay công ty nó đang cần gì thì học tiếp. Bản thân tui đang làm Spring do đó tui chia sẽ spring thôi hen, Struts hay JSF đang làm nên sau này sẽ bổ sung sau hén

Bạn đang xem bài viết Học Lập Trình Java Cơ Bản Dễ Dàng Với 10+ Nguồn Giáo Trình Java Đầy Đủ Nhất trên website Maiphuongus.net. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!