Phát triển ứng dụng dynamic web project Yêu cầu: Xây dựng dynamic web project trong Eclipse IDE − Tạo mới dynamic web project trong Eclipse IDE có tên dynamicwebBTMS − Tạo ra các tra
Trang 1227 Nguyễn Văn Cừ - Quận 5- Tp.Hồ Chí Minh
Tel: 38351056 – Fax 8324466 – Email: ttth@t3h.hcmus.edu.vn
Trang 2BÀ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
http://tomcat.apache.org/download-− 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ầ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
Trang 3− 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
Trang 4− Tạo mới thư mục web tĩnh có tên staticwebBTMS trong thư mục webapp của
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
− 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)
Trang 5BÀ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”
- 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
Trang 6- 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
- 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
Trang 7BÀ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
Trang 83.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
Trang 9- 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:
Trang 10BÀ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
Hướng dẫn: Sử dụng lại bài tập 3.2
- Cập nhật lại lớp LoginSrv
Trang 11- Tạo mới file profile.jsp và lấy dữ liệu session trong lớp Login Servlet gửi lên
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
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
Trang 12- 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
- 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
- Đố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:
Trang 13- Tạo lớp Filter với EncodingChareter thiết lập request và response với encoding charater UTF-8
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
Trang 14BÀ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
- 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
Trang 15- Tạo ra file TLD (tag lib descriptor) có tên CustomTag.tld với uri http://pdde.t3h.vn
- 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
Trang 16- Tạo ra file TLD (tag lib descriptor) với SampleLib.tld
- 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
Trang 17− 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
Trang 18BÀ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
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 đó
Trang 19 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
Trang 20BÀ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
Trang 21BÀ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
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
Trang 22 Hướng dẫn:
Trang 23BÀ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ạ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:
Trang 26Mục lục