Hỗ trợ đào tạo

PRJ301 - Phát triển ứng dụng Java web

12Chủ đề
0Câu hỏi

PRJ301 - Phát triển ứng dụng Java web (Java Web Application Development) là môn học 3 tín chỉ của Đại học FPT, lấy DBI202 và PRO192 làm môn tiên quyết, dạy cách xây dựng và triển khai một ứng dụng web bằng Java theo giáo trình Professional Java for Web Applications của Nicholas S. Williams, thực hành trên Tomcat, NetBeans và MS SQL Server. Nội dung môn học bao quát trọn bộ chương trình 60 buổi theo chín chuẩn đầu ra CLO1 đến CLO9. Phần nền tảng gồm các công nghệ lõi của máy chủ web Java, phân biệt phần thiết kế giao diện với phần công nghệ phía máy chủ, cài đặt bộ công cụ phát triển Java, tích hợp NetBeans với vùng chứa servlet, tạo ứng dụng đầu tiên và triển khai nó. Phần servlet gồm viết một lớp servlet, khai báo và cấu hình servlet để triển khai, làm việc với đối tượng yêu cầu và đối tượng phản hồi, phân biệt phương thức xử lý GET với phương thức xử lý POST, nhận tham số từ biểu mẫu và từ chuỗi truy vấn, và trả nội dung văn bản về cho trình duyệt. Phần cơ sở dữ liệu gồm giới thiệu JDBC, các loại trình điều khiển JDBC, xử lý câu lệnh SQL qua JDBC, và hiện thực một ứng dụng thêm đọc sửa xoá trên MS SQL Server. Phần JSP gồm ba cách dùng tệp JSP, trộn mã JSP với văn bản HTML, các biến ẩn trong JSP, cấu hình thuộc tính JSP trong tệp web.xml, và cách kết hợp JSP với servlet. Phần kiến trúc gồm nguyên tắc thiết kế ứng dụng Java, mẫu kiến trúc Model View Controller và cách áp dụng nó vào ứng dụng Java web với servlet đóng vai trò điều khiển. Phần trạng thái gồm lý do cần phiên làm việc, cơ chế hoạt động của phiên và cookie, cách lưu và đọc dữ liệu trên cả hai. Phần ngôn ngữ biểu thức gồm cú pháp EL, toán tử số học và toán tử quan hệ, truy cập mảng và tập hợp, hàm EL, các biến ẩn và cách dùng biến theo phạm vi trang, phiên và ứng dụng. Phần bền vững dữ liệu gồm JPA và cách kết nối tới cơ sở dữ liệu qua tầng persistence, kèm một ứng dụng demo. Phần mở rộng gồm thẻ tuỳ biến trong JSP; filter với mục đích sử dụng, cách tạo, khai báo và ánh xạ filter, phân biệt chuyển tiếp với chuyển hướng, và tham số khởi tạo; cùng bộ lắng nghe sự kiện của vùng chứa với các sự kiện ở mức ứng dụng, mức phiên và mức yêu cầu. Môn còn có một chuyên đề ứng dụng trí tuệ nhân tạo trải bốn mốc trong chương trình: kỹ thuật viết prompt khi tích hợp mô hình ngôn ngữ lớn vào ứng dụng Java web, dùng trợ lý AI trong NetBeans, dùng tác tử truy vấn cơ sở dữ liệu, và xây một tác tử AI viết mã ngay trong ứng dụng chạy trên servlet. Điều kiện dự thi là tham dự tối thiểu 80 phần trăm số buổi trên lớp.

Chủ đề học tập

Phát triển ứng dụng Java web

PRJ301 - Chuyên đề: Ứng dụng AI trong phát triển ứng dụng Java web

Chuyên đề trải bốn mốc rời rạc trong chương trình, ứng với CLO9, mỗi mốc nằm lồng trong một buổi có nội dung khác nên không thuộc khối nào. Nửa sau buổi 3 là hướng dẫn viết prompt hiệu quả khi làm việc với Java web: khi tích hợp mô hình ngôn ngữ lớn vào ứng dụng, một prompt có cấu trúc tốt cải thiện đáng kể độ chính xác và mức phù hợp của câu trả lời mà mô hình sinh ra. Buổi 8 là dùng trợ lý AI ngay trong NetBeans. Nửa sau buổi 15 là dùng tác tử truy vấn cơ sở dữ liệu trong ứng dụng Java web, đi cùng khối JDBC. Nửa sau buổi 51 là xây một tác tử AI viết mã ngay trong ứng dụng chạy trên servlet; sinh viên tự học, tự hiện thực và tự thử nghiệm phần truy vấn cơ sở dữ liệu bằng AI.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 10: Filter trong ứng dụng Java web

Buổi 49 đến buổi 52, ứng với CLO5, tương ứng Chương 9 Improving Your Application Using Filters của giáo trình. Buổi 49 trình bày mục đích của filter: một thành phần đứng chắn trước servlet để xử lý chung cho nhiều yêu cầu, chẳng hạn kiểm tra đăng nhập, ghi nhật ký hay đặt bảng mã, thay vì lặp lại cùng một đoạn mã ở từng servlet. Buổi 50 đi vào thao tác thật là tạo filter, khai báo và ánh xạ filter tới đường dẫn. Buổi 51 trình bày chuyển tiếp và chuyển hướng sang một servlet khác cùng cách phân biệt hai cơ chế này, và cách dùng tham số khởi tạo. Buổi 52 là bài thực hành trên lớp luyện lại khối này.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 11: Event Listener trong ứng dụng Java web

Buổi 53 và buổi 54, ứng với CLO5, tài liệu là tài liệu về filter và listener của Oracle. Khối này trình bày bộ lắng nghe sự kiện của vùng chứa servlet: thay vì chờ một yêu cầu tới rồi mới xử lý, ứng dụng có thể đăng ký lớp lắng nghe để được gọi khi một sự kiện vòng đời xảy ra. Buổi 53 đi vào ba lớp sự kiện ở mức vòng đời gồm sự kiện của ngữ cảnh servlet tức toàn ứng dụng, sự kiện của phiên làm việc và sự kiện của yêu cầu. Buổi 54 đi vào ba lớp sự kiện ở mức thuộc tính gồm sự kiện khi thuộc tính của ngữ cảnh servlet thay đổi, sự kiện khi một đối tượng được gắn vào hoặc gỡ khỏi phiên, và sự kiện khi thuộc tính của yêu cầu thay đổi.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 1: Tổng quan công nghệ Java web và thiết lập môi trường

Buổi 1 đến buổi 4, ứng với CLO1, tương ứng Chương 1 Introducing Java Platform, Enterprise Edition và Chương 2 Using Web Containers của giáo trình. Buổi 1 giới thiệu các công nghệ lõi và cơ bản của máy chủ web Java, đồng thời phân biệt phần thiết kế giao diện web với phần công nghệ chạy phía máy chủ. Buổi 2 thiết lập môi trường làm việc: cài bộ công cụ phát triển Java, cài vùng chứa servlet Tomcat và tích hợp NetBeans với vùng chứa đó. Buổi 3 và buổi 4 dựng ứng dụng đầu tiên: tạo một servlet, tạo một trang JSP, rồi triển khai ứng dụng lên máy chủ và chạy thử. Chuẩn đầu ra tương ứng yêu cầu hiểu cấu trúc cơ bản của một ứng dụng web và triển khai được ứng dụng đó.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 2: Servlet, request và response

Buổi 5 đến buổi 10, ứng với CLO2, tương ứng Chương 3 Writing Your First Servlet của giáo trình. Buổi 5 viết servlet đầu tiên một cách bài bản: tạo lớp servlet và cấu hình nó để triển khai. Buổi 6 làm việc với hai đối tượng trung tâm là đối tượng yêu cầu và đối tượng phản hồi, cùng cách phân biệt phương thức xử lý GET với phương thức xử lý POST và khi nào dùng cái nào. Buổi 7 dùng tham số để nhận dữ liệu người dùng gửi lên từ biểu mẫu và từ chuỗi truy vấn trên địa chỉ, rồi trả nội dung văn bản về cho trình duyệt. Hai buổi 9 và 10 là bài thực hành trên lớp luyện lại toàn bộ khối này. Đây là khối đặt nền cho mọi phần phía sau vì servlet là thành phần xử lý yêu cầu của ứng dụng.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 3: JDBC và kết nối cơ sở dữ liệu

Buổi 11 đến buổi 20, ứng với CLO3, là khối dài nhất của môn với tài liệu là hướng dẫn JDBC của Oracle chứ không phải giáo trình chính. Hai buổi đầu giới thiệu JDBC là cầu nối giữa chương trình Java và hệ quản trị cơ sở dữ liệu, cùng các loại trình điều khiển JDBC. Buổi 13 đến 15 đi vào phần cơ bản của JDBC là xử lý câu lệnh SQL: mở kết nối, tạo câu lệnh, thực thi truy vấn, duyệt tập kết quả trả về và đóng tài nguyên. Buổi 16 đến 18 hiện thực một ứng dụng thêm, đọc, sửa và xoá dữ liệu trên MS SQL Server, tức ghép trọn thao tác cơ sở dữ liệu vào ứng dụng web. Hai buổi 19 và 20 là bài thực hành trên lớp luyện lại khối này.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 4: JSP hiển thị nội dung

Buổi 21 đến buổi 26, ứng với CLO2, tương ứng Chương 4 Using JSPs to Display Content của giáo trình. Buổi 21 trả lời vì sao cần JSP khi đã có servlet, rồi trình bày ba cách dùng một tệp JSP: chỉ chứa HTML, chỉ chứa mã JSP, hoặc trộn cả hai. Buổi 22 đi vào cách trộn mã JSP với văn bản HTML trong cùng một tệp và cách dùng các biến ẩn có sẵn trong JSP. Buổi 23 cấu hình thuộc tính JSP trong tệp web.xml. Buổi 24 kết hợp JSP với servlet, tức tách phần hiển thị sang JSP còn phần xử lý để lại ở servlet — đây là bước chuẩn bị trực tiếp cho kiến trúc MVC ở khối sau. Hai buổi 25 và 26 là bài thực hành trên lớp luyện lại khối này.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 5: Kiến trúc MVC trong ứng dụng Java web

Buổi 27 đến buổi 32, ứng với CLO6. Bốn buổi đầu trình bày nguyên tắc chung khi thiết kế một ứng dụng Java, rồi đi vào mẫu kiến trúc Model View Controller: ba vai trò tách bạch gồm mô hình giữ dữ liệu và nghiệp vụ, khung nhìn lo hiển thị, bộ điều khiển nhận yêu cầu và điều phối; sau đó là cách áp mẫu này vào một ứng dụng Java web thật, với servlet đóng vai trò bộ điều khiển, lớp truy cập dữ liệu đóng vai trò mô hình và trang JSP đóng vai trò khung nhìn. Hai buổi 31 và 32 là buổi thực hành. Trong giáo trình, phần tách tầng trình bày nằm ở Chương 4 tại mục kết hợp servlet với JSP. Kỹ năng của chuẩn đầu ra là dựng ứng dụng web áp mẫu MVC với servlet hoặc filter làm bộ điều khiển.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 6: Quản lý trạng thái bằng session và cookie

Buổi 33 đến buổi 36, ứng với CLO2, tương ứng Chương 5 Maintaining State Using Sessions của giáo trình. Buổi 33 giải thích vì sao cần phiên làm việc: giao thức HTTP không nhớ trạng thái giữa hai yêu cầu, nên muốn nhận ra cùng một người dùng qua nhiều trang thì phải có cơ chế riêng; buổi này cũng trình bày cách phiên và cookie hoạt động cùng quan hệ giữa hai thứ. Buổi 34 đi vào thao tác thật là lưu dữ liệu vào phiên và vào cookie rồi đọc lại. Hai buổi 35 và 36 là bài thực hành trên lớp. Khối này gắn với phần kiến thức của môn về bốn phạm vi chia sẻ trạng thái gồm phạm vi phiên, phạm vi ứng dụng, phạm vi yêu cầu và phạm vi trang.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 7: Expression Language trong JSP

Buổi 37 đến buổi 40, ứng với CLO4, tương ứng Chương 6 Using the Expression Language in JSPs của giáo trình. Buổi 37 trả lời ngôn ngữ biểu thức là gì và vì sao dùng nó thay cho mã Java nhúng thẳng trong trang, rồi trình bày cú pháp EL: đánh giá tức thời, toán tử truy cập phần tử theo chỉ số, làm việc với mảng, toán tử số học, toán tử quan hệ và truy cập trường tĩnh. Buổi 38 trình bày hàm EL, cách làm việc với tập hợp, và cách dùng biến theo phạm vi trong biểu thức EL. Buổi 39 đi vào phạm vi phiên và phạm vi ứng dụng cùng các biến ẩn của EL. Buổi 40 là bài thực hành trên lớp luyện lại khối này.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 8: JPA và tầng bền vững dữ liệu

Buổi 41 và buổi 44, ứng với CLO8, tương ứng Chương 19 Introducing Java Persistence API and Hibernate ORM của giáo trình. Buổi 41 giới thiệu JPA và hướng dẫn làm việc với tầng bền vững dữ liệu để kết nối tới cơ sở dữ liệu: thay vì tự viết câu lệnh SQL và tự ánh xạ từng cột như ở khối JDBC, ứng dụng khai báo thực thể rồi để tầng ánh xạ đối tượng quan hệ lo phần chuyển đổi. Buổi 44 là bài thực hành trên lớp luyện lại khối này. Chuẩn đầu ra tương ứng yêu cầu dùng được JPA trong ứng dụng Java web, và phần kỹ năng của môn yêu cầu tạo được một ứng dụng web demo dùng JPA. Khối này đứng sau khối JDBC nên người học có cả hai cách làm việc với cơ sở dữ liệu để đối chiếu.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày
Phát triển ứng dụng Java web

PRJ301 - Phần 9: Thẻ tuỳ biến trong JSP và demo ứng dụng dùng JPA

Buổi 45 và buổi 48. Buổi 45 gồm hai phần đi cùng nhau: dùng thẻ tuỳ biến trong JSP, và hướng dẫn tạo một ứng dụng web demo hoàn chỉnh dùng JPA. Thẻ tuỳ biến là cách tự định nghĩa thẻ riêng để dùng trong trang JSP thay vì lặp lại cùng một đoạn mã hiển thị, giúp trang giữ được sự gọn gàng khi phần hiển thị phức tạp dần; trong giáo trình phần này nằm ở Chương 8 Writing Custom Tag and Function Libraries. Buổi 48 là bài thực hành trên lớp. Khối này khép lại nhánh hiển thị của môn: từ JSP thuần ở Phần 4, qua ngôn ngữ biểu thức ở Phần 7, tới thẻ tự viết ở đây.

0Bộ đềbộ đề
0+Câu hỏicâu hỏi
đăng ngày