
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
------oOo------
NGUYỄN HỮU TRUNG (CHỦ BIÊN)
MAI ANH THƠ
GIÁO TRÌNH
LẬP TRÌNH JAVA WEB CĂN BẢN
(Giáo trình dùng cho sinh viên ngành Công nghệ thông tin)
NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA
THÀNH PHỐ HỒ CHÍ MINH - 2023

1
GIỚI THIỆU
Java Servlet và Java Server Pages (JSP) đã được sử dụng rộng rãi
trong cuối những năm 1990. Trong nhiều năm, Servlet và JSP là công nghệ
thống trị trong xây dựng các ứng dụng web, đặc biệt cho các doanh nghiệp
lớn. Mặc dù vậy, hiện nay Servlet và JSP không còn là cách tiếp cận thống
trị đối với lập trình web. Tuy vậy, công nghệ này vẫn còn giá trị liên quan
trong nhiều năm tới, do vẫn còn nhiều ứng dụng web được phát triển bởi
công nghệ này. Một tìm kiếm nhanh trên một trang web việc làm điển hình
cho thấy rằng vẫn còn rất nhiều nhu cầu cho các nhà phát triển Servlet và
JSP. Ngoài ra, các kỹ năng tích lũy được khi làm việc với Servlet và JSP
cũng có thể áp dụng được cho các cách tiếp cận mới hơn đối với phát triển
Java Web chẳng hạn như Java Server Faces (JSF) và Spring Framework
trong cuốn sách lập trình Java Web nâng cao.
Do đó, việc học công nghệ Servlet và JSP vẫn là một cách tiếp cận
tuyệt vời để bắt đầu với lập trình Java Web.
Cuốn sách này dành cho những ai muốn học cách phát triển các ứng
dụng web sử dụng công nghệ Servlet và JSP. Điều kiện tiên quyết duy nhất
để tiếp cập công nghệ này là bạn cần có hiểu biết cơ bản về ngôn ngữ lập
trình Java. Cuốn sách này sẽ phù hợp với bạn ngay cả khi bạn không có
kinh nghiệm phát triển ứng dụng web.
Khi chúng tôi bắt đầu viết cuốn sách này, chúng tôi biết rằng phải có
một cách tiếp cận mới nếu chúng tôi muốn hướng dẫn bạn mọi thứ bạn cần
biết theo cách nhanh hơn và tốt hơn những cuốn sách khác. Và đây chính
là sự khác biệt của cuốn sách này so với những tài liệu khác.
Trong phần 1, bạn sẽ tìm hiểu các khái niệm và thuật ngữ cần thiết
cho lập trình web. Bạn sẽ học cách sử dụng kiến trúc mô hình 3 lớp
để cấu trúc ứng dụng web. Và bạn sẽ học cách sử dụng Eclipse IDE
(Môi trường phát triển tích hợp) với máy chủ Tomcat để phát triển
Servlet và JSP cho các ứng dụng web. Khi nào bạn đã hoàn thành phần
này, bạn sẽ sẵn sàng học cách viết mã và chạy Servlet và JSP.
Trong phần 2, bạn sẽ học về HTML và CSS, điều này rất cần thiết để
sử dụng JSP. Sau đó, bạn sẽ học các kỹ năng tạo Servlet và JSP mà
bạn sẽ cần cho hầu hết mọi ứng dụng. Các chương này chuyển từ đơn
giản đến phức tạp vì chúng chỉ cho bạn cách làm việc với các Servlet,

2
JSP, Session, Cookie, JavaBeans, Ngôn ngữ biểu thức (EL), Tiêu
chuẩn JSP bằng thư viện thẻ (JSTL) và các thẻ JSP tùy chỉnh.
Trong phần 3, bạn sẽ học cách sử dụng cả JDBC (một phương pháp
kết nối dữ liệu cũ hơn) và Java Persistence API (JPA) là cách tiếp cận
mới hơn để ứng dụng web hoạt động với cơ sở dữ liệu. SQL
Server/MySQL hay Postgresql là các cơ sở dữ liệu phổ biến thường
được sử dụng cho web ứng dụng, phần này chỉ ra cách làm việc với
nó, nhưng những nguyên tắc này có thể được áp dụng cho việc sử
dụng bất kỳ cơ sở dữ liệu nào.
Trong phần 4, bạn sẽ học một số kỹ năng Servlet và JSP nâng cao mà
bạn sẽ cần cho một số loại ứng dụng web như JavaMail, Servlet Filter.
Để hoàn thiện các kỹ năng lập trình Java web của bạn, phần 5 trình
bày một website bán hàng tổng hợp các kỹ năng đã được trình bày
trong bốn phần đầu tiên vào bài toán cụ thể. Ứng dụng này được minh
họa với các phương pháp hay nhất, bạn có thể tải mã nguồn xuống để
tái sử dụng trong các ứng dụng của riêng mình. Khi hiểu rõ cách thức
hoạt động của trang web này, bạn thật sự đã sở hữu tất cả các kỹ năng
cần thiết để tạo các ứng dụng web của riêng bạn.

3
MỤC LỤC
GIỚI THIỆU ............................................................................................ 1
LỘ TRÌNH HỌC LẬP TRÌNH JAVA WEB ...................................... 10
CHƯƠNG 1 ............................................................................................. 13
GIỚI THIỆU VỀ LẬP TRÌNH JAVA WEB ...................................... 13
1.1. Giới thiệu lập trình Java web ...................................................... 13
1.1.1. Lập trình Java web là gì? ........................................................... 13
1.1.2. Đặc điểm của Java trong thiết kế web ....................................... 13
1.1.3. Cách để phát triển các ứng dụng Java Web ............................... 14
1.2. Web Application ........................................................................... 15
1.2.1. Web Application là gì? .............................................................. 15
1.2.2. Các thành phần của ứng dụng web ............................................ 15
1.2.3. Phân biệt Web App và Website ................................................. 16
1.3. Web server .................................................................................... 17
1.3.1. Web server là gì? ....................................................................... 17
1.3.2. Hoạt động Web server ............................................................... 17
1.3.3. Một số Web Server phổ biến ..................................................... 18
1.3.4. Web tĩnh .................................................................................... 19
1.3.5. Web động ................................................................................... 20
1.4. Giới thiệu J2EE ............................................................................ 20
1.4.1. J2EE là gì? ................................................................................ 20
1.4.2. Thành phần trong J2EE ......................................................... 21
1.4.3. Công nghệ trong J2EE ............................................................ 22
CHƯƠNG 2 ............................................................................................. 24
CẤU TRÚC JAVA WEB VỚI MÔ HÌNH 3 LỚP .............................. 24
2.1. Mô hình 01 lớp .............................................................................. 24
2.2. Mô hình MVC ............................................................................... 24
2.2.1. Các thành phần trong mô hình MVC ... Error! Bookmark not
defined.
2.2.2. Tại sao nên sử dụng mô hình MVC trong lập trình? ............. 25
2.2.3. Ưu và nhược điểm mô hình MVC ......................................... 26
2.2.4. Ứng dụng mô hình MVC ....................................................... 27
2.3. Mô hình kiến trúc 03 tầng (Three Tiers) .................................... 30
2.3.1. Mô hình 3 Tiers là gì? ............................................................... 30
2.3.2. Các phành phần của 3 Tier ........................................................ 31
2.3.3. Ưu điểm và nhược điểm mô hình 3 Tier ................................... 31
2.3.4. Mô hình 3 layer ( 3 lớp) ............. Error! Bookmark not defined.
CHƯƠNG 3 ............................................................................................. 33
MÔI TRƯỜNG LÀM VIỆC ................................................................. 33
3.1. Cài đặt môi trường Servlet .......................................................... 33

4
3.1.1. Thiết lập bộ phát triển Java (JDK) ............................................ 33
3.1.2. Cài đặt và cấu hình MAVEN ..................................................... 37
3.1.3. Cài đặt và cấu hình Eclipse ....................................................... 38
3.2. Tạo Project Web trong Eclipse ................................................... 43
3.2.1. Tạo Maven Project .................................................................... 43
3.2.2. Tạo Dynamic Web Project ........................................................ 47
3.2.3. Thư viện Servlet, JSP, và JSTL ................................................. 49
CHƯƠNG 4 ............................................................................................. 51
JAVA SERVLET VÀ ỨNG DỤNG ..................................................... 51
4.1. Giới thiệu về Java Servlet ............................................................ 51
4.1.1. Java Servlet là gì? ...................................................................... 51
4.1.2. Kiến trúc Java Servlet ................................................................ 51
4.1.3. Nhiệm vụ của Java Servlet ........................................................ 51
4.1.4. Gói Java Servlet ......................................................................... 52
4.1.5. Tại sao bạn nên biết Java Servlet .............................................. 52
4.1.6. Vòng đời của Java Servlet ......................................................... 52
4.2. Sơ đồ kiến trúc .............................................................................. 55
4.3. Ví dụ về Java Servlet .................................................................... 55
4.3.1. Tạo project trên eclipse ............................................................. 55
4.3.2. Cấu hình thư viện Servlet cho project ....................................... 58
4.3.3. Lớp Servlet ................................................................................ 58
4.3.4. Cấu hình Servlet ........................................................................ 59
4.3.5. Tạo trang chủ web index.html ................................................... 60
4.3.6. Chạy ứng dụng........................................................................... 60
4.4. Xử lý Form trong Servlet ............................................................. 61
4.4.1. Phương thức GET ...................................................................... 61
4.4.2. Phương thức POST .................................................................... 62
4.5. Đọc dữ liệu từ Form trong Servlet .............................................. 63
4.6. Page Redirect trong Servlet ......................................................... 65
4.7. RequestDispatcher in Servlet ...................................................... 66
4.7.1. Include() .................................................................................... 67
4.7.2. Forward(). .................................................................................. 67
CHƯƠNG 5 ............................................................................................. 68
JAVA SERVER PAGES (JSP), EL VÀ JSTL .................................... 68
5.1. JSP là gì? ....................................................................................... 68
5.1.1. Vòng đời JSP? ........................................................................... 69
5.1.2. Cách chạy chương trình JSP trong Eclipse ............................... 73
5.1.3. JSP Elements ............................................................................. 78
5.1.3.1. JSP Declaration .................................................................. 78
5.1.3.2. JSP Scriptlet ....................................................................... 79
5.1.3.3. Biểu thức JSP ..................................................................... 79

