B GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM K THUT
THÀNH PH H CHÍ MINH
------oOo------
NGUYN HU TRUNG (CH BIÊN)
MAI ANH THƠ
GIÁO TRÌNH
LP 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À XUT BN ĐẠI HC QUC GIA
THÀNH PH H CHÍ MINH - 2023
1
GIỚI THIỆU
Java Servlet Java Server Pages (JSP) đã được s dng rng rãi
trong cui những năm 1990. Trong nhiều năm, Servlet JSP công ngh
thng tr trong xây dng các ng dng web, đặc bit cho các doanh nghip
ln. Mc dù vy, hin nay Servlet JSP không còn là cách tiếp cn thng
tr đối vi lp trình web. Tuy vy, công ngh này vn còn giá tr liên quan
trong nhiều năm tới, do vn còn nhiu ng dụng web được phát trin bi
công ngh y. Mt tìm kiếm nhanh trên mt trang web việc làm điển hình
cho thy rng vn còn rt nhiu nhu cu cho các nhà phát trin Servlet và
JSP. Ngoài ra, các k năng tích lũy được khi làm vic vi Servlet JSP
cũng thể áp dng đưc cho các cách tiếp cn mới hơn đối vi phát trin
Java Web chng hạn như Java Server Faces (JSF) Spring Framework
trong cun sách lp trình Java Web nâng cao.
Do đó, việc hc công ngh Servlet JSP vn mt cách tiếp cn
tuyt vời để bắt đầu vi lp trình Java Web.
Cun sách này dành cho nhng ai mun hc cách phát trin các ng
dng web s dng công ngh Servlet JSP. Điều kin tiên quyết duy nht
để tiếp cp công ngh này là bn cn có hiu biết cơ bản v ngôn ng lp
trình Java. Cun sách này s phù hp vi bn ngay c khi bn không
kinh nghim phát trin ng dng web.
Khi chúng tôi bắt đầu viết cun sách này, chúng tôi biết rng phi
mt cách tiếp cn mi nếu chúng tôi mun hướng dn bn mi th bn cn
biết theo cách nhanh hơn tốt hơn những cun sách khác. đây chính
là s khác bit ca cun sách này so vi nhng tài liu khác.
Trong phần 1, bạn sẽ tìm hiểu các khái niệm thuật ngcần thiết
cho lập trình web. Bạn shọc cách sử dụng kiến trúc hình 3 lớp
để cấu trúc ứng dụng web. 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 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 JSP
bạn sẽ cần cho hầu hết mọi ứng dụng. Các chương này chuyn 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 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 sở dữ liệu. SQL
Server/MySQL hay Postgresql các sở dữ liệu phổ biến thường
được sử dụng cho web ứng dụng, phần y chỉ ra cách làm việc với
nó, nhưng những nguyên tắc y 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 kng 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 knăng đã được trình bày
trong bốn phần đầu tiên vào 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ểucá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
MC LC
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. Gii thiu lp trình Java web ...................................................... 13
1.1.1. Lp trình Java web là gì? ........................................................... 13
1.1.2. Đặc điểm ca Java trong thiết kế web ....................................... 13
1.1.3. Cách để phát trin các ng dng Java Web ............................... 14
1.2. Web Application ........................................................................... 15
1.2.1. Web Application là gì? .............................................................. 15
1.2.2. Các thành phn ca ng dng web ............................................ 15
1.2.3. Phân bit 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. Mt s Web Server ph biến ..................................................... 18
1.3.4. Web tĩnh .................................................................................... 19
1.3.5. Web động ................................................................................... 20
1.4. Gii thiu J2EE ............................................................................ 20
1.4.1. J2EE là gì? ................................................................................ 20
1.4.2. Thành phn 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 lp .............................................................................. 24
2.2. Mô hình MVC ............................................................................... 24
2.2.1. Các thành phn trong mô hình MVC ... Error! Bookmark not
defined.
2.2.2. Ti sao nên s dng mô hình MVC trong lp trình? ............. 25
2.2.3. Ưu và nhược điểm mô hình MVC ......................................... 26
2.2.4. ng dng mô hình MVC ....................................................... 27
2.3. Mô hình kiến trúc 03 tng (Three Tiers) .................................... 30
2.3.1. Mô hình 3 Tiers là gì? ............................................................... 30
2.3.2. Các phành phn ca 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 lp) ............. 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 lp b phát trin Java (JDK) ............................................ 33
3.1.2. Cài đặt và cu hình MAVEN ..................................................... 37
3.1.3. Cài đặt và cu hình Eclipse ....................................................... 38
3.2. To Project Web trong Eclipse ................................................... 43
3.2.1. To Maven Project .................................................................... 43
3.2.2. To 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. Gii thiu 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. Nhim v ca Java Servlet ........................................................ 51
4.1.4. Gói Java Servlet ......................................................................... 52
4.1.5. Ti sao bn nên biết Java Servlet .............................................. 52
4.1.6. Vòng đời ca Java Servlet ......................................................... 52
4.2. Sơ đồ kiến trúc .............................................................................. 55
4.3. Ví d v Java Servlet .................................................................... 55
4.3.1. To project trên eclipse ............................................................. 55
4.3.2. Cấu hình thư viện Servlet cho project ....................................... 58
4.3.3. Lp Servlet ................................................................................ 58
4.3.4. Cu hình Servlet ........................................................................ 59
4.3.5. To trang ch web index.html ................................................... 60
4.3.6. Chy ng dng........................................................................... 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 liu 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. Biu thc JSP ..................................................................... 79