Bài tập Lập trình Web với Java
Yêu cầu: Cài đặt Apache Tomcat 7 trong môi trường console của hệ điều hành
Hướng dẫn sử dụng:
Tóm tắt yêu cầu:
Phải cài đặt trước: Java SDK, các trình duyệt (có thể là Firefox, IE, Chrome,.)
Thuật giải: Không có
Hướng dẫn:
− Download Apache Tomcat phiên bản 7 tại địa chỉ //tomcat.apache.org/download-70.cgi hoặc tìm kiếm download trên google
− Giải nén và lưu trữ vào thư mục trên ổ đĩa
− Cài đặt các biến môi trường JAVA_HOME và CATALINA_HOME tương ứng cho thư mục
cài đặt java (thư mục jdk) và Apache Tomcat
− Mở console (bấm tổ hợp phím Window + R), chuyển đến thư mục bin của Tomcat và
thực hiện các lệnh start, stop cho môi trường Server
Có thể cấu hình thêm các lệnh start và stop vào biến môi trường $Path mà không
cần phải chuyển đến thư mục bin của Tomcat
− Mở trình duyệt và truy cập đến Apache Tomcat
tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý - Trường hợp xác thực thành công thì chuyển trang profile hiển thị các thông tin của người dùng. các thông tin này được cấu hình trong context của Web.xml Thuật giải: Hướng dẫn: Sử dụng lại bài tập 3.2 - Cấu hình web.xml thêm các cấu hình config và context - Định nghĩa lớp Entity thể hiện các thông tin của một tài khoản có tên Account - Cập nhật lại lớp LoginSrv Bài tập Module 3: Lập trình Web với Java 11/26 - Tạo mới file profile.jsp và lấy dữ liệu session trong lớp Login Servlet gửi lên - Triển khai lên Tomcat Server 4.2. Sử dụng Even-Listener để quản lý truy cập ứng dụng web Yêu cầu: Đếm số lượng Session trong một ứng dụng khi có một session mới được tạo ra hoặc một session bi hủy trong ứng dụng btms Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý - Khi client gọi truy cập Web lần đầu tiên thì Server tiến hành ghi log thông tin session được tạo ra - Người dùng thoát (log out) trong trang home.jsp, profile.jsp để hủy một session Thuật giải: Hướng dẫn: - Tạo các lớp listener có tên SessionCounter - Cấu hình các lớp listener và time-out trong file cấu hình triển khai trong web.xml - Tạo ra Logout Servlet (LogoutSrv) để hủy session - Cấu hình lại các trang jsp (home.jsp, profile.jsp) để thực đăng xuất 4.3. Sử dụng Filter để lọc các yêu cầu gọi từ người client-side Yêu cầu: Thực hiện chức năng Login Filter yêu cầu người dùng đăng nhập trước khi thực hiện các thao tác khác trong ứng dụng btms Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Bài tập Module 3: Lập trình Web với Java 12/26 - Kiểm tra người dùng đã đăng nhập chưa, nếu chưa đăng nhập thì chuyển trang đăng nhập. Ngược lại, chuyển tới trang yêu cầu Thuật giải: Hướng dẫn: - Tạo lớp Filter với LoginFilter - Cấu hình filter trong web.xml với tất cả các request - Triển khai 4.4. Sử dụng Filter cho request và response ecoding charater Yêu cầu: Thêm chức năng cập nhật Profile cho ứng dụng btms Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý - Đối với trang jsp chứa form nhập tiếng việt thì trong Servlet phải đặc tả encoding cho request và response để nhận tiếng việt Thuật giải: Hướng dẫn: Bài tập Module 3: Lập trình Web với Java 13/26 - Tạo lớp Filter với EncodingChareter thiết lập request và response với encoding charater UTF-8 - Cấu hình filter trong web.xml với tất cả các request - Tạo trang servlet để cập nhật thông tin profile của tài khoản đó có tên ProfileSrv (cấu hình thuộc tinh action của form trong trang profile.jsp chỉ đến Profile Servlet) và sử dụng session để lưu lại thông tin cập nhật - Triển khai Bài tập Module 3: Lập trình Web với Java 14/26 BÀI 5: JSP nâng cao - Sử dụng khái niệm Custom Tag để định nghĩa ra những thẻ mới cho việc tối ưu hiển thị dữ liệu - Phân chia layout và sử dụng các thành phần chung (trang JSP tái sử dụng) - Sử dụng Java Bean kết hợp với form 5.1. Tái sử dụng các trang JSP trong một ứng dụng web Yêu cầu: Cập nhật lại các trang JSP trong btms project để sử dụng các thành phần JSP tái sử dụng Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Tạo ra các trang JSP tái sử dụng chung cho nhiều trang JSP gồm header.jsp, footer.jsp, message.jsp, right.jsp, navigator.jsp,… - Cập nhật lại các trang login.jsp, home.jsp và profile.jsp 5.2. Tạo Tag Handler hiện thực các giao diện Yêu cầu: Tạo các lớp Tag handler hiện thực các thẻ xuất lời chào, cấu trúc if và cấu trúc vòng lặp Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Bài tập Module 3: Lập trình Web với Java 15/26 Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Tạo ra dynamic web project với với SimpleTag - Tạo ra file TLD (tag lib descriptor) có tên CustomTag.tld với uri - Tạo ra các lớp Tag Handler tương ứng với các tag định nghĩa trong CustomTag.tld - Tạo ra trang index.html và các trang Jsp tương ứng để sử dụng các thẻ định nghĩa đó - Triển khai 5.3. Tạo Tag Handler thừa kế các Tag Handler có sẵn Yêu cầu: Tạo ra các trang Tag Handler xử thừa kế lớp TagSupport trong JSP Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Bài tập Module 3: Lập trình Web với Java 16/26 Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Tạo ra dynamic web project với với AdvanceTag - Tạo ra file TLD (tag lib descriptor) với SampleLib.tld - Tạo ra các lớp Tag Handler tương ứng - Tạo ra trang index.html và các trang Jsp tương ứng để sử dụng các thẻ định nghĩa đó - Triển khai 5.4. Cách sử dụng JavaBean trong trang JSP Yêu cầu: Tạo ra form đơn giản cho phép người dùng nhập và xuất thông tin của địa chỉ Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Bài tập Module 3: Lập trình Web với Java 17/26 Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: − Tạo ra dynamic web project với tên AddressApp − Tạo ra lớp Java Bean có tên Address − Tạo ra các trang jsp gồm cho phép nhập và hiển thị dữ liệu về Address bean − Triển khai Bài tập Module 3: Lập trình Web với Java 18/26 BÀI 6: EL & JSTL Cách loại bỏ các source code java trong trang JSP của các ứng dụng JEE bằng cách sử dụng ngỗn ngữ biểu thức (Expression Language) và tập thẻ thư viện chuẩn JSTL 6.1. Sử dụng JSTL Tag Core cập nhật lại các URL Yêu cầu: Cập nhật lại các địa chỉ URL trong các trang JSP trong btms project bằng cách sử dụng thẻ url trong JSTL core Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý: Thuật giải: Hướng dẫn: - Import thư viện JSTL vào trong thư mục lib của btms project (thư viện jstl có trong thư mục lib của apache tomcat nên đã tự động import cùng với server) - Tạo mới trang jsp định nghĩa các thư viện JSTL trong thư mục common có tên là taglibs.jsp - Import trang taglibs.jsp vào các trang còn lại và cập nhập lại các url định nghĩa trong các trang jsp đó - Triển khai 6.2. Sử dụng JSTL Formatting Tag để nạp resource bundle vào trang JSP Yêu cầu: Tạo file resource bundle và cập nhật lại các label trong các jsp dùng key trong file resource bundle đó Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Bài tập Module 3: Lập trình Web với Java 19/26 Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: − Tạo file resource bundle (có thể định nghĩa file tiếng viết và file tiếng anh) − Thêm định nghĩa JSTL formatting trong file taglibs.jsp trong common − Đặc tả các resource bundle và cập nhật lại các lable trong các trang jsp − Triển khai Bài tập Module 3: Lập trình Web với Java 20/26 BÀI 7: Mô hình MVC với JSP/Servlet Triển khai ứng dụng kết hợp JSP/Servlet theo mô hình hoạt động của kiến trúc phần mềm MVC 7.1. Xây dựng hệ thống quản lý bán vé xe Yêu cầu: Mở rộng bài 3.2, xây dựng thêm các chức năng của hệ thống bán vé gồm: - Quản lý danh sách các tuyến đường - Quản lý danh sách xe (có trong bến) - Quản lý danh sách lịch khởi hành theo từng ngày của từng tuyến xe - Tạo lịch khởi hành (chuyến) theo từng ngày của từng tuyến xe - Quản lý danh sách bán vé: còn vé và hết vé của các chuyến - Đặt vé online hoặc điện thoại Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: Bài tập Module 3: Lập trình Web với Java 21/26 BÀI 8: Web service Tạo ra các web service trong một ứng dụng Website 8.1. Tạo ra ứng dụng web service Yêu cầu: Trong bài tập 3.2, hiện thực web service cho phép client gọi hàm đăng nhập và lấy về danh sách tài khoản Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Import thử viện jax-ws - Hiện thực lớp Web Service gồm interface và lớp hiện thực - Định nghĩa file cấu sun-jaxwx.xml và cấu hình trong file web.xml 8.2. Xây dựng thêm các Web service Yêu cầu: Trong bài 7.1, xây dựng thêm các service cho phép người dùng tìm kiếm các chuyến còn vé hoặc hết, đặt vé và thanh toán Hướng dẫn sử dụng: Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Bài tập Module 3: Lập trình Web với Java 22/26 Hướng dẫn: Bài tập Module 3: Lập trình Web với Java 23/26 BÀI 9: Bảo mật website Sử dụng các cấu hình bảo mật trong một website 9.1. Xây dựng ứng dụng Web với xác thực Form Authentication Yêu cầu: Xây dựng trang login form sử dụng cơ chế xác thực form Hướng dẫn sử dụng: người dùng nhập vào tài khoản và mật khẩu để đăng nhập Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Tạo các trang login và trang lỗi - Cấu hình tài khoản trong tomcat-user.xml - Cấu hình thông tin xác thực trong file cấu hình triển khai web.xml 9.2. Cấu hình HTTPS cho ứng dụng web Yêu cầu: Cấu hình https cho Tomcat server Hướng dẫn sử dụng: Bài tập Module 3: Lập trình Web với Java 24/26 Tóm tắt yêu cầu: Thiết kế giao diện Nhập Xuất Qui tắc xử lý Thuật giải: Hướng dẫn: - Sử dụng java key tools để sinh ra key (private key và request key) - Thực hiện ký chứng thực để sinh ra certificate - Cấu hình private key và certificate vào trong cấu hình của Tomcat server Bài tập Module 3: Lập trình Web với Java 25/26 BÀI 10: Tổng kết Tổng hợp lại kiến thức về phát triển website dùng JSP/Servlet và áp dụng trong mô hình phát triển theo MVC Tổng hợp các bài tập trong các chương và xây dựng thành website hoàn chỉnh Bài tập Module 3: Lập trình Web với Java 26/26 Mục lục
File đính kèm:
- Bài tập Lập trình Web với Java.pdf