Bài tập Lập trình web với java

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

pdf26 trang | Chia sẻ: maiphuongtl | Lượt xem: 3094 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài tập Lập trình web với java, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRUNG TÂM TIN HỌC – ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM 227 Nguyễn Văn Cừ - Quận 5- Tp.Hồ Chí Minh Tel: 38351056 – Fax 8324466 – Email: ttth@t3h.hcmus.edu.vn Mã tài liệu: DT_NCM_LT_DC_LTMNM1_BT Phiên bản 1.0 – Tháng 03/2014 BÀI TẬP CHƯƠNG TRÌNH LẬP TRÌNH VIÊN CÔNG NGHỆ JAVA --- MODULE 3: LẬP TRÌNH WEB VỚI JAVA Bài tập Module 3: Lập trình Web với Java 2/26 BÀI 1: Tổng quan J2EE - Cài đặt và làm quen với mối trường phát triển ứng dụng web trên nền tảng công nghệ JEE - Phát triển ứng dụng web tĩnh đơn giãn sử dụng công nghệ html, javascript và css 1.1. Cài đặt môi trường Application Server  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ỉ 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 1.2. Cài đặt môi trường Application Server  Yêu cầu: Cài đặt Apache Tomcat trên môi trường soạn thảo Eclipse IDE  Hướng dẫn sử dụng:  Tóm tắt yêu cầu:  Thuật giải: Không có  Hướng dẫn: − Download Apache Tomcat phiên bản 7 tại địa chỉ 70.cgi hoặc tìm kiếm download trên google  Bài tập Module 3: Lập trình Web với Java 3/26 − Giải nén và lưu trữ vào thư mục trên ổ đĩa − Mở Eclipse IDE và thêm mới Apache Tomcat vào server trong Eclipse − Thực hiện start và stop môi trường Apache Tomcat server trong Eclipse − Thực hiện gọi Apache Tomcat từ trình duyệt. Trong trường hợp lỗi không tìm thấy trang (lỗi 404) thì copy thư mục ROOT trong $CATALINA_HOME/webapp vào trong thư mục $Eclipse_Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps  $CATALINA_HOME là thư mục Apache Tomcat  $Eclipse_Workspace là thư mục workspace của Eclipse IDE  Có thể tmp0 trong $Eclipse_Workspace được thay thế bởi tmp1 1.3. Phát triển ứng dụng web tĩnh  Yêu cầu: Xây dựng ứng dụng web tĩnh trong Apache Tomcat  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 4/26 − Tạo mới thư mục web tĩnh có tên staticwebBTMS trong thư mục webapp của $CATALINA_HOME − Tạo ra các thành phần của trang web tĩnh (copy các trang html, css, javascript, images được cung cấp trong phần bài tập vào thư mục webcontent trong cấu trúc static project) − Thực hiện start, stop Apache Tomcat trong môi trường console và sử dụng browser triệu gọi trang chủ của web (home.html) 1.4. Phát triển ứng dụng dynamic web project  Yêu cầu: Xây dựng dynamic web project trong Eclipse IDE  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 mới dynamic web project trong Eclipse IDE có tên dynamicwebBTMS − Tạo ra các trang html (copy các trang html, css, javascript, images được cung cấp trong phần bài tập vào thư mục webcontent trong cấu trúc static project) − Triển khai lên server và sử dụng browser triệu gọi trang chủ của web (home.html) Bài tập Module 3: Lập trình Web với Java 5/26 BÀI 2: Servlet - Xây dựng một Servlet đơn giản và cấu trúc thư mục của ứng dụng Servlet - Xây dựng cấu trúc triển khai web.xml trong ứng dụng web 2.1. Xây dựng cấu trúc ứng dụng Servlet  Yêu cầu: Xây dựng một trang Servlet xuất ra một câu chào “Hello World”  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 thư mục web trong thư mục $CATALINA_HOME/webapp có tên structureServlet theo cấu trúc ứng dụng Servlet - Tạo ra trang index.html - Tạo ra servlet có tên HelloWorldSrv.java và biên dịch thành file bytecode - Tạo ra file cấu hình web.xml trong thư mục WEB-INF  Bài tập Module 3: Lập trình Web với Java 6/26 - Start Tomcat và truy cập trong trình duyệt 2.2. Tạo các trang Servlet trong Eclipse IDE  Yêu cầu: Xây dựng trang Servlet và hiện thực phương thức Get để xuất ra một lời chào  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 dynamic web project trong Eclipse có tên là XmlAnnotationWeb - Định nghĩa 2 trang Servlet có tên XmlServlet và AnntationServlet hiện thực phương thức get xuất ra lời chào - Thực hiện cấu hình các trang servlet theo 2 cách dùng xml (XmlServlet) trong file web.xml và annotation trong chính servlet đó (AnnotationServlet) - Tạo thêm trang index.html và tạo 2 link gọi đến 2 servlet ở trên - Triển khai lên Application Server Tomcat và triệu gọi bên Client Bài tập Module 3: Lập trình Web với Java 7/26 BÀI 3: Java Server Page - Sử dụng các thẻ trong trang JSP - Sử dụng các biến ẩn trong trang JSP 3.1. Tạo ứng dụng xử lý và tương tác giữa các trang JSP  Yêu cầu: Tạo ra trang jsp nhập vào tên và xuất ra lời chào  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 dynamic web có tên jspwebapp - Tạo ra 2 trang index.jsp và trang response.jsp - Triển khai lên Tomcat server  Bài tập Module 3: Lập trình Web với Java 8/26 3.2. Tương tác giữa trang JSP và Servlet  Yêu cầu: Xây dựng chức năng đăng nhập  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ý - Nhập thông tin tài khoản, mật khẩu và thực hiện xử lý kiểm tra thông tin đăng trên Servlet tương ứng. Bài tập Module 3: Lập trình Web với Java 9/26 - Dữ liệu xác thực tài khoản và mật khẩu được đặc tả mặc định - Trường hợp xác thực thành công thì tạo thuộc tính session hiển thị trên trang chủ, ngược lại trở lại trang login hiển thị message không thành công và yêu cầu người dùng nhập lại  Thuật giải:  Hướng dẫn: - Tạo ra dynamic web project có tên btms - Tạo ra trang login.jsp và trang home.jsp - Tạo ra lớp hỗ trợ để định nghĩa các giá trị tài khoản, mật khẩu và có tên là ConfigUtils - Tạo ra trang servlet để xử lý login có tên LoginSrv.java - Triển khai lên Tomcat Server Bài tập Module 3: Lập trình Web với Java 10/26 BÀI 4: Servlet nâng cao Sử dụng các cấu hình session, cookie, hidden field, event-listener và filter trong ứng dụng web 4.1. Sử dụng Servlet Config và Servlet Context  Yêu cầu: Hiện thực lại bài 3.2 với thông tin tài khoản và mật khẩu trong config  Hướng dẫn sử dụng: người dùng truy cập, đăng nhập và thoát  Tóm 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

Các file đính kèm theo tài liệu này:

  • pdf20140707bt_module_3_4796.pdf
Tài liệu liên quan