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.