× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Khóa học lập trình Java Web Fullstack

Thành thạo Java web fullstack sau 135h với giảng viên từ doanh nghiệp Hỗ trợ việc làm

Thời lượng: 135h (6 tháng)

Thời gian học: 2 buổi/tuần

Số lượng học viên: 15-18

Đăng ký ngay

Vì sao nên học lập trình Java Web Fullstack

Top 1
Ngôn ngữ lập trình phổ biến

Ngôn ngữ phổ biến: Java liên tục đứng đầu trong top các ngôn ngữ lập trình phổ biến nhất với ứng dụng đa dạng

1000$
Thu nhập bình quân

Java vẫn là ngôn ngữ được trả lương cao hàng đầu với xấp xỉ 1000$/ tháng với nhiều cơ hội thăng tiến trong nghề nghiệp

57.000
Jobs tại Việt Nam

Theo thống kê, hiện đang có khoảng 57.000 Jobs dành cho lập trình viên Java tại thị trường Việt Nam

100%
Hướng đối tượng

Java là một trong số ít ngôn ngữ lập trình đạt tới gần 100% OOP. Java dễ sử dụng nếu bạn hiểu về OOPS

Bạn nhận được gì trong khóa học lập trình Java web Fullstack tại T3H

Tham gia khóa học lập trình web bằng ngôn ngữ Java tại T3H, bạn sẽ đạt được:

Làm chủ kiến thức lập trình hướng đối tượng (OOP), cấu trúc câu lệnh trong ngôn ngữ lập trình Java. Nắm vững câu lệnh điều khiển, truy vấn tương tác cùng với CSDL.
Có khả năng phát triển các ứng dụng nghiệp vụ cho doanh nghiệp trên nền tảng: J2EE, Servlet, JSP. Nắm vững mô hình và kiến thức nền tảng Spring MVC để xây dựng cấu trúc web với java tại các doanh nghiệp.
Xây dựng được các phần mềm, ứng dụng website thông qua hệ thống quản trị bảo mật cao với giao diện thân thiện.
Nội dung đào tạo thiết kế chi tiết, bài bản theo chuẩn đầu ra Doanh nghiệp cho vị trí Intern/ Fresher. Học viên được training theo chuẩn Coding Convention và tự build được project sau quá trình đào tạo.
Được support CV xin việc và tips phỏng vấn ngay trong khoá đào tạo. Được cấp chứng nhận và hỗ trợ việc làm khi hoàn thành khóa học tại T3H.

Lộ trình

[ Phần 1: Frontend ]

Thời lượng: 15 buổi

- Giới thiệu các tool làm việc cần thiết
- Giới thiệu lịch sử hình thành của HTML
- Các thẻ tag HTML cơ bản
- Sự cải tiến trong HTML5
- Thực hành theo các thẻ tương ứng
- Giới thiệu về CSS cơ bản, các thuộc tính màu chữ, font-size, font-family…
- Giới thiệu về inline và block tương ứng với thẻ các thẻ trong HTML
- Thực hành thao tác với các thẻ trong HTML thông qua việc dựng trang bằng thẻ table
- Giới thiệu về CSS Selector
- Giới thiệu Box model
- Giới thiệu về display trong CSS
- Thực hành về display
- Giới thiệu một phần position
- Thực hành về position
- Giới thiệu về after/before trong CSS
- Thực hành về after/before
- Giới thiệu về float
- Thực hành về float
- Giới thiệu về clearfix
- Giới thiệu cách dựng trang theo cột
- Giới thiệu cách đặt thẻ DIV sao cho hiệu quả
- Thực hành dựng trang đơn giản bằng DIV thay cho thẻ TABLE trước đó
- Thực hành với breadcrumb
- Thực hành với dropdown
- Thực hành với menu đa cấp
- Giới thiệu về tính cần thiết của Javascript
- Giới thiệu về câu lệnh, biến
- Giới thiệu về kiểu dữ liệu trong Javascript
- Giới thiệu về câu lệnh lặp
- Giới thiệu về câu lệnh điều kiện
- Thực hành
- Giới thiệu về Mảng dữ liệu trong Javascript
- Các ví dụ liên quan tới Mảng dữ liệu
- Bài toán tìm phần tử lớn nhất, phần tử nhỏ nhất
- Bài toán tìm phần tử lớn thứ n trong mảng
- Bài toán sắp xếp mảng
- Giới thiệu về chuỗi trong Javascript
- Giới thiệu các hàm xử lý cơ bản cho chuỗi
- Giới thiệu bài toán chuẩn hoá chuỗi
- Giới thiệu bài toán đảo ngược chuỗi
- Thực hành
- Giới thiệu về object trong Javascript
- Các bài toán liên quan tới Object
- Giới thiệu về JSON.parse và JSON.stringify
- Thực hành
- Làm quen với bài toán xử lý thông qua function
- Bài toán giải phương trình bậc nhất
- Bài toán giải phương trình bậc hai
- Giới thiệu đặc trưng trong Javascript
- Bắt sự kiện cho các thẻ HTML tương ứng
- Thực hành thêm DOM
- Giới thiệu về jQuery, các tính năng cơ bản
- Thực hành với Jquery xử lý sự kiện
- Thực hành với việc Jquery thay đổi DOM
- Làm quen với bài toán AutoSuggestion and AutoComplete
- Giới thiệu về luồng cơ bản của chương trình khi viết Javascript
- Ứng dụng giải quyết bài toán AutoSuggestion và AutoComplete (AS/AC)
- Thực hành
- Hoàn thiện ứng dụng AS/AC
- Giới thiệu về bootstrap, các thành phần cơ bản
- Phân chia đề tài cho học phần và kết thúc
- Công nghệ sử dụng Js: jquery, react, chartjs và một số thư viện js thông dụng Thymeleaf Jsp

[ Phần 2: Java căn bản ]

Thời lượng: 4 buổi

- Giới thiệu về Java
- Các đặc trưng cơ bản của Java so với ngôn ngữ C++
- Cài đặt môi trường
- Giới thiệu môi trường chạy Java JVM JRE, môi trương phát triển Java JDK
- Giới thiệu IDE sử dụng trong chươn trình Itellij phiên bản Utimate
- Cài đặt biến môi trường và giải thích ý nghĩa (Compile chương trình)
- Chương trình Helloworld, các phím tắt thông dụng
- Chương trình In ra màn hình và nhập vào từ bản phím chuỗi và số
- Hướng dẫn sử dụng Git
- Cấu trúc chuẩn chương trình trong Java, câu lệnh khối lệnh, quy tắc đặt tên biến, hàm class trong Java
- Biến trong Java
- 8 kiểu dữ liệu nguyên thủy và ví dụ, ép kiểu trong java
- Toán tử (số học, bit, quan hệ và logic, ép kiểu, điều kiện, thứ tự ưu tiên) và biểu thức trong Java
- Cấu trúc điều khiển rẽ nhánh (if else, switch case)
- Cấu trúc điều khiển rẽ nhánh (if else, switch case) - Tiếp
- Cấu trúc lặp (for, while, do while)
- Hàm trong Java (hàm và hàm đệ quy)
- String trong Java (String pool, equals vs ==), StringBuilder, StringBuffer,
- Xử lý chuỗi trong Java
- Mảng 1 chiều và n chiều trong Java
- Xử lý mảng trong Java

[ Phần 3: Basic OOP ]

Thời lượng: 5 buổi

- Bài kiểm tra cuối module lập trình căn bản
- Giới thiệu về hướng đối tượng trong Java (tại sao tư duy hướng đối tượng lại cần thiết?)
- Cách viết 1 class trong Java (Khái niệm lớp và đối tượng)
- Các thành phần của 1 class (thuộc tính và phương thức), hàm getter setter
- Giải bài tập cộng trừ phân số
- Hàm khởi tạo mặc định, hàm khởi tạo nhiều tham số
- Con trỏ this
- Tính chất kế thừa trong Java (từ khóa extend)
- Overloading và override trong Java
- Phạm vi truy cập (private, default, protected, public) trong Java
- Pakage trong Java
- Từ khóa static trong Java (biến static, hàm static, class static)
- Inner class trong Java
- Abstract class trong Java (Phân biệt với class thường)
- Phương thức abstract trong Java
- Interface class trong Java (Phân biệt với abstract class)
- Tổng kết 4 tính chất đặc trưng của hướng đối tượng (đóng gói, kế thừa, trừu tượng, đa hình)
- Equal và Hashcode trong Java
- Collection và Map trong Java và ứng dụng
- Sắp xếp trong Java
- Stream API trong Java
- Xử lý Ngoại lệ (exception handling) trong Java (Checked và unchecked trong Java)
- Lớp bao kiểu dữ liệu nguyên thủy (wrapper class)
- (Generic, cách khai báo và sử dụng Thread thông thường trong Java nếu cần thiết)
- Lambda Expression & Functional Interface

[ Phần 4: Cơ sở dữ liệu căn bản ]

Thời lượng: 3 buổi

- Làm bài Test thực hành cuối Module OOP
- Cài đặt môi trường MySQL, giới thiệu về MySQL, làm quen với công cụ
- Giới thiệu dữ liệu, CSDL với hệ quản trị CSDL
- Các kiểu dữ liệu trong MySQL
- Hướng dẫn tạo TABLE, COLUME, cài đặt khóa chính, UNIQUE..
- Hướng dẫn câu lệnh INSERT, UPDATE, DELETE, DROP
- Hướng dẫn câu lệnh QUERY căn bản
- QUERY dữ liệu cần toán tử (><>=<=, LIKE, IN...)
- Giới thiệu LIMIT OFFSET, DISTINCT
- GROUP BY HAVING, ORDER BY
- Các hàm thông dụng trong SQL (sum, avg....)
- Khóa ngoại
- Các phép JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Sub Query
- Hướng dẫn sử dụng JDBC kết nối chương trình Java
- Hướng dẫn phân tích phần mềm từ yêu cầu
- Bài tập: Thiết kế hệ thống quản lý thư viện sử dụng console Java
- VIEW, FUNCTION, PROCEDURE trong SQL

[ Phần 5: Spring Web ]

Thời lượng: 5 buổi

- Spring framework là gì? Tại sao lựa chọn Spring? Thành phần, tính chất chính trong Spring
- Springboot là gì, vị trí Springboot trong hệ sinh thái Spring, vai trò của Springboot và tại sao cần học Springboot
- Tạo project Springboot bằng Intellij
- Giới thiệu các thành phần cấu trúc, các thành phần trong 1 project Springboot
- Giới thiệu công cụ quản lý thư viện maven
- Rest API là gì? Giao thức HTTP(Giới thiệu phương thức, header, Param, Body, HTTP Code)
- Postman là gì? Cách cài đặt và sử dụng công cụ Test API Postman?
- Hướng dẫn sử dụng 1 số phương thức đơn giản @RestController:
+ GET endpoint
+ POST endpoint
+ PUT endpoint
+ DELETE endpoint
- Giới thiệu Json, xử lý Json, (hoặc xml, xử lý xml)
- Bài tập : Xây dựng hệ thống quản lý thư viện buổi 14 bằng Rest API và JDBC
- Giải thích các thành phần của 1 RestController (Phân biệt @PathVariable, @RequestParam, @RequestBody, @Header)
- Consumer và producer (xử lý dữ liệu đầu vào và trả về Json hoặc XML)
- Hướng dẫn build dự án, vai trò Tomcat
- Giới thiệu mô hình MVC (vai trò các tầng, phân biệt giữa DTO và Entity, tại sao cần phải chia tầng như vậy?)
- Hướng dẫn tải trang bằng Springboot (sử dụng thymleaf)
- Giới thiệu cơ bản về ViewResolve Thymleaf (cách truyền dữ liệu từ controller xuống view, cú pháp căn bản thymleaf để lấy dữ liệu)
- Phân biệt @Controller với @RestController
- Bài tâp: Xây dựng chương trình quản lý thư viện ở trên bằng cách sử dụng giao diện HTML lấy dữ liệu ra màn hình
- Hướng dẫn sinh viên chọn đề tài (demo 1 số project các khóa trước đã làm, và gợi ý đề tài, gợi ý các chức năng), đưa danh sách đề tài tham khảo
- Giới thiệu thymleaf (tiếp) submmit form, sử dụng biến, vòng lặp, câu điều kiện, block, thymleaf link...
- Submit form đính kèm file
- Hướng dẫn validation form sử dụng Springboot
- Giải thích sự khác nhau giữa redirect, forward, rederview
- Bài tập: Tiếp tục bài quản lý thư viện áp dụng submitform cho các màn hình thêm sửa
- Giới thiệu Bootstrap
- Giới thiệu Jquery
- Sử dụng Javascript làm bài tập hiển thị ảnh khi upload
- Hướng dẫn validation sử dụng Jquery
- Hướng dẫn sử dụng ajax gọi API
- Hướng dẫn sử dụng fragment Thymleaf để quản lý header, footer, naigation...
Bài tập: Áp dụng cho bài tập quản lý thư viện
- Resource static trong Springboot
- Đa ngôn ngữ Springboot
- Giải thích sâu về cơ chế Spring
- Nguyên lý SOLID
- Annotation, Spring Annotations: @Autowired, @Component, @Service, @Repository, @Configuration, @Primary....
- Dependency inversion in Spring: A few more examples..., IOC Container, Application Context and Bean Factory

[ Phần 6: Spring JPA ]

Thời lượng: 3 buổi

- Chấm điểm đồ án đợt 1 với các tiêu chí:
+ Chấm điểm danh sách các chức năng
+ Sơ đồ USER-CASE (các đối tượng tham gia hệ thống)
+ Hoàn thiên tối thiểu 30% màn hình có chức năng thêm sửa xóa, danh sách
- Giới thiệu ORM – Object Relational Mapping
- Giới thiệu JPA – Java Persistance API
- Giới thiệu Hibernate
- Giới thiệu Spring Data JPA
- Cách cấu hình dự án
- Cách tạo Entity, Repository trong SpringData JPA
- Sử dụng các hàm mặc định (save, findAll, getById....)
- Bài tập: Tiếp tục bài tập buổi trước với yêu cầu chuyển từ JDBC sang ORM
- Spring data JPA query method, query creation Property Expressions
- Sử dụng NameQuery
- Hướng dẫn custom Query và cách query các câu truy vấn phức tạp
- Hướng dẫn tìm kiếm phân trang
- Transaction trong SpingDataJPA
- Sử dụng query OneTomany, ManyToMany
- Đối chiếu từ SpringData JPA sang Hibernate
+ Các trạng thái object
+ Vòng đời các trạng thái
+ Session Factory với EntityManager

[ Phần 7: Spring Security ]

Thời lượng: 4 buổi

- Chấm điểm đồ án đợt 2 với các tiêu chí:
+ Hoàn thiên tối thiểu 70% màn hình có chức năng thêm sửa xóa, danh sách sử dụng ORM
- Giới thiệu Springsecurity (giải thích 2 vấn đề authentication và authore)
- Giải thích cơ chế filter trong Java servlet
- Hướng dẫn cấu hình formlogin sử dụng spring security
- Giải thích PasswordEncoder
- Giải thích UserDetailService
- SpringEmail
- Bài tập: Tạo mới User, xác thực user qua email
- Hướng dẫn lấy thông tin người dùng trên backend và thymleaf (ContextHolder)
- Giải thích cơ chế lưu thông tin user, phiên và cấu hình phiên, phân biệt SESSION với COOKIE
- Hướng dẫn phân quyền USER sử dụng config và anotation
- Bài tập: Phân quyền cho ứng dụng quản lý thư viện, chức năng quên mật khẩu và thay đổi mật khẩu
- Hướng dẫn tạo trang chủ sử dụng template (Trang public), cách sử dụng phân quyền khi thực hiện luồng đặt hàng, thanh toán...
- Hướng dẫn Handler trong trường hợp đăng nhập thành công hoặc lỗi
- @ControllerAdvise bắt các Exception khi request lỗi
- Bài tập: Tiếp tục cho chức năng trang chủ của phần mềm quản lý thư viện
- Spring Security API (giải thích sự khác nhau giữa cơ chế xác thực bằng session và token)
- Hướng dẫn cái đặt và các thành phần trong Spring JWT

[ Phần 8: Spring Schedule ]

Thời lượng: 1 buổi

- Hướng dẫn sử dụng anotaion @Schedule thực hiện các Job chạy ngầm
- Hướng dẫn báo cáo thống kê (giao diện biểu đồ và backend)
- Hướng dẫn xuất báo cáo sử dụng thư viện org.apache.poi
- Các nội dung websocket, cache, thread, log4j2...

[ Phần 9: Unit Test ]

Thời lượng: 1 buổi

- Unit test sử dụng JUnit (giới thiệu và hướng dẫn cấu hình, ví dụ hàm test)
- Cách viết Unittest cho các layer
+ Repository
+ Service
+ Controller

[ Phần 10: Software Development Life Cycle ]

Thời lượng: 3 buổi

- Giới thiệu về webserver (Apache, nginX)
- Giới thiệu containner (Tomcat)
- Vòng đời servlet
- Deploy hệ thống
- LoadBlancer
- Giới thiệu áp dụng Alige/Scrum vào dự án (Vai trò của từng thành viên ...)

Sản phẩm học viên

Feedback học viên

Lập trình Java Web Fullstack - Đăng ký ngay nhận ưu đãi 40% học phí

Khóa học lập trình Java web fullstack thành thạo sau 6 tháng với giảng viên từ doanh nghiệp. Chương trình chuyên sâu với Spring MVC. Hỗ trợ việc làm sau khóa học.

Đăng ký

  • Ưu đãi 40% học phí khóa học khi đăng ký trong tháng này
  • Giảm 100 - 500k khi đăng ký theo nhóm từ 2 người trở lên
  • Hỗ trợ việc làm ngay sau khóa học
  • Học lại miễn phí nếu chưa đạt đầu ra
Chương trình đào tạo