Tải bản đầy đủ (.pdf) (26 trang)

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ạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (633.59 KB, 26 trang )

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:

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

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

BÀI 1:


1.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

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ỉ 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ỉ hoặc tìm kiếm download trên google
Module 3: Lập trình Web với Java

2/26



Bài tập

− 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

1.3.



$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

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:

Module 3: Lập trình Web với Java

3/26


Bài tập

− 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)

Module 3: Lập trình Web với Java

4/26


Bài tập

Servlet

BÀI 2:


2.1.

- 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

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

Module 3: Lập trình Web với Java

5/26


Bài tập

- 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

Module 3: Lập trình Web với Java

6/26


Bài tập

Java Server Page

BÀI 3:


3.1.

- Sử dụng các thẻ trong trang JSP
- Sử dụng các biến ẩn trong trang JSP


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

Module 3: Lập trình Web với Java

7/26


Bài tập

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.

Module 3: Lập trình Web với Java

8/26


Bài tập

-

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

Module 3: Lập trình Web với Java

9/26


Bài tập

Servlet nâng cao

BÀI 4:

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
Module 3: Lập trình Web với Java

10/26


Bài tập

- 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ý
Module 3: Lập trình Web với Java

11/26


Bài tập

-

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:

Module 3: Lập trình Web với Java

12/26


Bài tập

- 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

Module 3: Lập trình Web với Java


13/26


Bài tập

JSP nâng cao

BÀI 5:


5.1.

- 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

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

Module 3: Lập trình Web với Java

14/26


Bài tập

 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

Module 3: Lập trình Web với Java

15/26


Bài tập

 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

Module 3: Lập trình Web với Java

16/26


Bài tập

 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

Module 3: Lập trình Web với Java

17/26



Bài tập

EL & JSTL

BÀI 6:


6.1.

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

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

Module 3: Lập trình Web với Java

18/26


Bài tập

 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

Module 3: Lập trình Web với Java

19/26


Bài tập

Mô hình MVC với JSP/Servlet

BÀI 7:


7.1.

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

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:

Module 3: Lập trình Web với Java

20/26


Bài tập

Web service

BÀI 8:


8.1.

Tạo ra các web service trong một ứng dụng Website

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:
Module 3: Lập trình Web với Java

21/26


Bài tập

 Hướng dẫn:


Module 3: Lập trình Web với Java

22/26


Bài tập

Bảo mật website

BÀI 9:


9.1.

Sử dụng các cấu hình bảo mật trong một website

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:
Module 3: Lập trình Web với Java

23/26


Bài tậ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:
- 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

Module 3: Lập trình Web với Java

24/26



Bài tập

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

Module 3: Lập trình Web với Java

25/26


×