Spring MVC Phần 2 - Công nghệ tận dụng phát triển web Back-end
Bạn có thể hiểu và hoàn thành tất cả các công nghệ web cần thiết để phát triển ứng dụng web từ những điều cơ bản.
Trong MVC Phần 2, bạn có thể tìm hiểu tất cả các kỹ thuật cần thiết để phát triển web thực tế dựa trên các nguyên tắc và cấu trúc cốt lõi của MVC Phần 1.
Nếu bạn biết nguyên lý, bạn sẽ thấy được cốt lõi! Hướng dẫn sử dụng Spring MVC của Kim Young-han 👨💻
📌 Vui lòng kiểm tra trước khi tham gia lớp học!
Bài giảng này là bài thứ năm trong loạt bài "Hoàn thiện Java Spring". Trước tiên, hãy xem qua Lộ trình Thành thạo Spring của Younghan Kim, giám đốc kỹ thuật trẻ nhất tại Woowa Brothers. (Truy cập)
Các khuôn khổ web phổ biến nhất
Hầu hết các ứng dụng hiện đại là ứng dụng web hoạt động trong môi trường web. Các nhà phát triển back-end Java thường sử dụng Spring MVC khi phát triển các ứng dụng web này. Spring MVC là framework web phổ biến nhất, giúp phát triển nhanh chóng và dễ dàng các ứng dụng web phức tạp.
Tại sao công nghệ web backend lại khó học
Công nghệ web backend Java rất rộng lớn và đòi hỏi phải nghiên cứu chuyên sâu. Đặc biệt, Spring MVC cung cấp chức năng mở rộng và kiến trúc phức tạp. Để thực sự thành thạo các công nghệ web này, trước tiên bạn phải hiểu các nguyên tắc và cấu trúc cốt lõi của Spring MVC, sau đó dựa trên nền tảng đó để lần lượt nắm vững một loạt các công nghệ web .
✅ Vui lòng kiểm tra kiến thức của người chơi.
Vui lòng kiểm tra xem bạn đã hiểu các nguyên tắc cốt lõi và cấu trúc của Spring MVC cần thiết cho phát triển web thông qua bài giảng trước, <Spring MVC Phần 1> hay chưa .
1. Từ công nghệ web Java ban đầu cho đến công nghệ thực tế mới nhất 2. Phát triển khung MVC trực tiếp trong mã
Mục tiêu của khóa học
Cho đến nay, chúng ta đã tìm hiểu về Java backend và các công nghệ dựa trên Spring MVC. Trong bài giảng này, chúng ta sẽ tiếp tục những kiến thức đã học và học các kỹ năng thực hành thiết yếu .
Trong bài giảng <Spring MVC Phần 2>,
Trong Phần 2 của Spring MVC, bạn có thể hoàn toàn chinh phục một loạt các công nghệ sử dụng web như view template , messages , internationalization , validation , cookies , sessions , filters , interceptors , exception handling , type converters , và file uploads , những công nghệ thiết yếu cho việc sử dụng thực tế, thông qua các ví dụ dựa trên Spring MVC đã học ở Phần 1.
Chúng tôi sẽ giúp bạn phát triển nhiều công nghệ sử dụng web thông qua mã ví dụ thực tế trên Spring MVC cùng các nguyên tắc và cấu trúc cốt lõi của nó, đồng thời giúp bạn phát triển thành nhà phát triển web phụ trợ chuyên sâu hơn .
Mục tiêu : Mục tiêu của khóa học này là nắm vững tất cả các công nghệ web cần thiết để phát triển các ứng dụng web thực tế.
Từ Kiến thức Cơ bản đến Thực hành Web : Mặc dù khóa học này chứa nhiều tài liệu phát triển thực tế, nhưng được thiết kế theo định dạng từng bước để ngay cả những nhà phát triển chưa có kinh nghiệm phát triển ứng dụng web cũng có thể dễ dàng thích nghi. (Bạn nên đọc Spring MVC Phần 1 trước khi học Phần 2.)
Từ khái niệm đến ứng dụng : Thay vì chỉ giải thích cách sử dụng công nghệ, chúng tôi giải thích các nguyên tắc cốt lõi và phương pháp ứng dụng về lý do tại sao công nghệ này lại cần thiết và nó ra đời như thế nào.
Tập trung vào các ví dụ thực tế : Tìm hiểu tất cả các bước cần thiết để phát triển ứng dụng web với Spring một cách tự nhiên thông qua các ví dụ và chúng tôi sẽ dạy bạn các phương pháp thực hành tốt nhất.
Ngắn gọn : Chúng tôi đã mạnh dạn loại trừ các tính năng Spring MVC lỗi thời không còn được sử dụng trong thực tế. Phần giải thích này tập trung vào các tính năng được sử dụng phổ biến nhất trong thực tiễn hiện đại.
Người học được đề xuất
Spring MVC Nhà phát triển lần đầu
nhà phát triển phần mềm phụ trợ người tìm việc
Spring MVC chuyên sâu Các nhà phát triển trong lĩnh vực này muốn hiểu
Ứng dụng web với Spring Các nhà phát triển muốn tạo ra
Nội dung được đề cập
Bước nhảy thời gian
Thymeleaf là một mẫu giao diện phía máy chủ dành cho các nhà phát triển backend. Với Thymeleaf, các nhà phát triển backend có thể nhanh chóng và dễ dàng tạo HTML động mà không cần một nhà phát triển frontend riêng biệt.
Trong khóa học này, bạn sẽ học mọi thứ từ các chức năng cơ bản của Thymeleaf cho đến tích hợp với Spring và các tính năng quản lý biểu mẫu phức tạp như hộp kiểm, nút radio và hộp chọn, tất cả đều thông qua các ví dụ.
Tin nhắn, Quốc tế hóa
Khi các ứng dụng web ngày càng lớn mạnh và phức tạp hơn, các thông điệp khác nhau mà chúng sử dụng phải được quản lý thống nhất và tại một nơi duy nhất. Ví dụ: việc đổi từ "tên sản phẩm" thành "tên sản phẩm" đòi hỏi phải chỉnh sửa mã nguồn của nhiều tệp. Chức năng nhắn tin của Spring cho phép bạn quản lý và chỉnh sửa các thông điệp này tại một nơi.
Quốc tế hóa là khả năng hiển thị trang web bằng tiếng Anh cho người nói tiếng Anh và tiếng Hàn cho người nói tiếng Hàn. Spring đã cung cấp chức năng quốc tế hóa này. Trong bài giảng này, chúng ta sẽ tìm hiểu từng bước về các tính năng nhắn tin và quốc tế hóa của Spring thông qua các ví dụ thực tế.
Xác thực
Nếu khách hàng nhập sai giá trị vào biểu mẫu trong quá trình đăng ký thành viên và gửi lên máy chủ, máy chủ phải xác minh các giá trị đó, hiển thị lại biểu mẫu cho khách hàng và cung cấp hướng dẫn hữu ích về những thông tin đã nhập sai. Đây là tính năng cần thiết cho tất cả các dịch vụ web.
Trong bài giảng này, trước tiên chúng ta sẽ tự phát triển các hàm xác thực này. Chúng ta cũng sẽ sử dụng các tính năng xác thực của Spring, và sẽ đi sâu hơn và tìm hiểu từng bước thông qua các ví dụ, bao gồm cả Bean Validation, một hàm thực hiện xác thực thuận tiện chỉ với một chú thích duy nhất.
Cookie, Phiên
HTTP là một giao thức không trạng thái. Do đó, các khái niệm như cookie và phiên là cần thiết để duy trì chức năng đăng nhập. Trong bài giảng này, trước tiên chúng ta sẽ tạo một hàm đăng nhập chỉ sử dụng cookie. Sau đó, chúng ta sẽ xem xét các lỗ hổng bảo mật, rồi tạo và triển khai các phiên.
Bằng cách tạo phiên trực tiếp như thế này, bạn sẽ hiểu sâu hơn về cách thức hoạt động của cookie và phiên. Ngoài ra, bạn sẽ tìm hiểu và áp dụng các phiên do servlet cung cấp.
Bộ lọc, Bộ chặn
Chúng ta sẽ tìm hiểu về Filter do Servlet cung cấp và Interceptor do Spring cung cấp thông qua các ví dụ.
Trước tiên, chúng ta sẽ tạo một bộ lọc và một bộ chặn để ghi lại tất cả các yêu cầu HTTP, cách đơn giản nhất là sử dụng bộ lọc và bộ chặn. Sau đó, chúng ta cũng sẽ tạo một bộ lọc và bộ chặn để xử lý xác thực. Bằng cách sử dụng cả hai cùng lúc, chúng ta sẽ hiểu rõ ưu và nhược điểm của từng loại.
Xử lý ngoại lệ
Khi học ứng dụng web, xử lý ngoại lệ thường là phần khó hiểu nhất. Điều này là do servlet container (WAS) và Spring MVC đều cung cấp các phương thức xử lý ngoại lệ riêng. Trên thực tế, hai cơ chế này đan xen vào nhau, tạo nên một cơ chế xử lý ngoại lệ phức tạp. Do đó, các nhà phát triển rất khó hiểu và sử dụng chính xác các hoạt động bên trong của Spring và servlet container khi ngoại lệ xảy ra trong controller.
Bài giảng này sẽ giải thích từng bước về xử lý ngoại lệ, từ xử lý ngoại lệ servlet container đến xử lý ngoại lệ Spring MVC. Sau khi tham dự, bạn sẽ hiểu rõ cách thức hoạt động của các thành phần bên trong máy chủ khi xảy ra ngoại lệ thực tế và những thay đổi cần thực hiện. Ngoài ra, bài giảng cũng đề cập đến cách xử lý ngoại lệ khi sử dụng API.
Bộ chuyển đổi loại lò xo
Cũng giống như việc chuyển đổi ký tự sang số hoặc ngược lại, việc phát triển ứng dụng thường yêu cầu chuyển đổi kiểu. Ví dụ: ngay cả khi chuỗi "10" được truyền vào yêu cầu HTTP, Spring vẫn có thể nhận chuỗi đó dưới dạng số nguyên 10 bằng cách sử dụng @RequestParam. Spring cung cấp một tính năng gọi là bộ chuyển đổi kiểu để hỗ trợ chuyển đổi kiểu nhất quán.
Bộ chuyển đổi kiểu là một chủ đề thường được nhắc đến khi học Spring, nhưng việc hiểu cách thức hoạt động thực sự của chúng có thể khá khó khăn. Bài giảng này sẽ cung cấp kiến thức từng bước về bộ chuyển đổi kiểu, từ những điều cơ bản đến ứng dụng thực tế, thông qua các ví dụ.
Tải tệp lên
Có vô số ví dụ về tải tệp lên trực tuyến. Bài giảng này không chỉ đơn thuần giải thích chức năng tải tệp lên mà còn đi sâu vào các giao thức được sử dụng để tải tệp lên và giải thích các nguyên tắc giúp việc tải tệp lên qua HTTP trở nên khả thi. Hơn nữa, thông qua các ví dụ, bạn sẽ được học từng bước về chức năng tải tệp lên, từ servlet đến các phương thức tải tệp tiện lợi do Spring cung cấp.
Cấu trúc bài giảng Spring MVC
Bài giảng về Spring MVC được chia thành hai phần. Bài giảng này là Spring MVC Phần 2 - Đây là công nghệ sử dụng phát triển web ở phía sau .
Bao gồm các khái niệm cốt lõi của công nghệ web Java và Spring MVC, đồng thời hiểu các tính năng cơ bản của Spring MVC. Phần 1 giới thiệu các công nghệ web backend Java, sau đó đề cập đến toàn bộ các công nghệ web, bao gồm Servlet, JSP, mô hình MVC và framework MVC. Sau khi hiểu rõ bối cảnh của các công nghệ web, chúng ta sẽ củng cố nền tảng vững chắc về các khái niệm cốt lõi của Spring MVC. Tiếp theo, chúng ta sẽ khám phá các tính năng cơ bản của Spring MVC và phát triển một trang web có khả năng thực hiện các thao tác CRUD cơ bản bằng Spring MVC.
Tìm hiểu nhiều kỹ thuật khác nhau để sử dụng Spring MVC. Phần 2 dần dần phát triển một ví dụ duy nhất, tìm hiểu nhiều kỹ thuật sử dụng Spring MVC thông qua mã, bao gồm Thymeleaf, nhắn tin, quốc tế hóa, xác thực, cookie, phiên, bộ lọc, bộ chặn, xử lý ngoại lệ, các tính năng chung và điểm mở rộng.
Sẽ tiếp tục trong tương lai Chuỗi chinh phục hoàn chỉnh mùa xuân
Chúng tôi đang chuẩn bị một loạt bài học được thiết kế để giúp bạn nắm vững Spring một cách toàn diện. Chúng tôi sẽ tập trung vào các tính năng cốt lõi của Spring được sử dụng trong các ứng dụng thực tế, mạnh dạn lược bỏ các tính năng lỗi thời hoặc lạc hậu, và cung cấp kiến thức thực tế.
Tôi chưa kịp thở thì bài giảng đã đến và tôi đọc xong ngay.
Trước khi MVC 2 ra mắt
Trưởng nhóm, trước tiên tôi phải củng cố lộ trình của JPA và đang làm việc trên Spring Data JPA.
Tôi đã sử dụng mybatis và học JPA, vì vậy tôi đã nghĩ, ôi, Shinsegae.
Trùng hợp là bài giảng MVC 2 ra nên mình chỉ xem phần đầu một lát, xong lộ trình JPA, phải nghe lại bài giảng Mv 2, nhưng Time Leap vui quá nên mình nghe mãi haha.
Tôi háo hức chờ đợi bài giảng sắp tới đến mức muốn bắt cóc trưởng nhóm, trói anh ta dưới tầng hầm và bắt anh ta chỉ quay phim bài giảng.
Hahaha, Dokkabei97, cảm ơn bạn rất nhiều vì đã sửa lỗi đánh máy và để lại nhận xét! Nhìn vào các đánh giá khóa học, tôi nghĩ mình cần phải nỗ lực hơn nữa haha.
Tôi cũng ủng hộ bạn. làm đi!
Cuối cùng tôi đã hoàn thành khóa học. Tôi nghĩ lần đầu tiên tôi bắt đầu khóa học này là vào đầu tháng 11 năm ngoái. Lúc đó tôi có nghe nói đến việc quốc tế hóa thông điệp nhưng nó không gây ấn tượng tốt với tôi và không thể hiểu được nên tôi đã bỏ cuộc. Và tôi lang thang khắp YouTube, thử nhiều thứ có vẻ thú vị, nghiên cứu những kiến thức cơ bản về Java (tôi cần làm nhiều hơn) và SQL (tôi cần làm nhiều hơn) và đi loanh quanh theo vòng tròn. Và kể từ tháng trước, tôi đã xem lại nó với tốc độ đều đặn từ phần giới thiệu đến mùa xuân cho đến đầu bộ truyện cho đến tận bây giờ. Điều đáng ngạc nhiên là tôi có thể hiểu rõ nội dung lớp học mà không gặp bất kỳ khó khăn nào. Tuy nhiên, dù hiểu rất rõ nhưng tôi không biết có nên coi là lạ không khi tôi không có nhiều câu hỏi hơn nội dung buổi học. Có rất nhiều câu hỏi phái sinh được đặt ra, nhưng vì tôi không phải là một trong số đó nên có vẻ như vẫn còn một chặng đường dài phía trước. Dù sao thì tôi cũng rất hài lòng vì chỉ cần theo dõi và hiểu rõ nội dung lớp học.
Khi lần đầu tiên nhìn thấy bài giảng của Younghan mà trước đó tôi chưa biết gì, tôi đã nghĩ, tại sao anh ấy lại dạy như thế này? Những gì tôi làm bây giờ đã quen thuộc và dễ hiểu, đồng thời tôi nhận ra rõ ràng rằng đó thực sự là một phong cách tốt hơn. Điều tương tự cũng xảy ra với MVC phần 2 này. Giờ đây, những cuốn sách về những con suối từng trông đáng sợ trong các hiệu sách giờ đây có thể trông thân thiện. Ai cũng biết môn học này là để củng cố nền tảng và cội rễ, nhưng tôi cũng xấu hổ và tự hào vì mình, với tư cách là một học viên, đang tham gia vào cuộc hành trình của một kiệt tác xứng đáng với danh hiệu chinh phục trọn vẹn. Tôi mất một lúc để lấy lại hơi thở và tự hỏi khi nào tôi sẽ xem và theo dõi tất cả những điều này trong quá khứ, nhưng trước khi tôi kịp nhận ra thì chỉ còn lại một bài giảng gần đây. Tôi định theo dõi bài giảng cuối cùng còn lại khi rảnh rỗi và sau đó bắt đầu lại từ đầu, điều này rất thiết thực. Khi viết bài này, tôi viết về hành trình mà tôi đã trải qua thay vì ôn lại lớp học. Chúc các bạn cùng học may mắn!
Chỉ cần đọc lộ trình của Kang thôi là tim tôi đã tràn ngập niềm vui rồi…
Một bài giảng dạy cho bạn chính xác những gì bạn muốn học
Một bài giảng cho phép bạn tự đọc tài liệu tham khảo
Ngay cả một bài giảng vui vẻ
Mọi người đang làm gì mà không nghe máy vậy?!
Đừng lo lắng, chỉ cần trả tiền
Thời gian khó mua được bằng tiền!
Nhưng bài giảng của Younghan Kim đã làm được điều đó!
Thực ra, tôi nghĩ giá trị của bài giảng của tôi là mua được thời gian. Tôi sẽ sắp xếp và truyền tải các giá trị cốt lõi mà tôi tin là quan trọng mà tôi đã phát triển trong quá trình thực hành của mình cho đến nay và tôi hy vọng rằng bạn sẽ nhanh chóng học được chúng và trở thành nhà phát triển cấp độ tiếp theo.
Cảm ơn bạn hanul_kr.
Tôi giới thiệu khóa học này cho tất cả các nhà phát triển biết và sử dụng Spring như một 'ma thuật';
Đây là bài giảng giải thích rõ ràng rằng mùa xuân là một 'khoa học';
Tôi phải mất một thời gian để hoàn thành khóa học do bận rộn với công việc nhưng nội dung trong bài giảng này rất hữu ích.
Bạn luôn nỗ lực để tạo ra những bài giảng hay, Younghan😘
Ôi trời, bạn đang bận rộn với các hoạt động hỗ trợ của mình, nhưng cảm ơn bạn đã để lại nhận xét cho lớp học. Tôi luôn ủng hộ bạn. Và hãy tiếp tục chăm sóc tôi nhé ^^!