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

GIÁO TRÌNH Lập trình JSP, Servlet

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 (3.7 MB, 164 trang )

Mục lục

MỤC LỤC

CHƢƠNG I: Bắt đầu với Java Server Page (JSP) ................................................................................ 5
1. Giới thiệu về Java Server Page và Servlet .................................................................................... 5
1.1. Java Server Page là gì ? .......................................................................................................... 5
1.2. Biên dịch trang JSP ................................................................................................................ 6
1.3. Kịch bản (Script) .................................................................................................................... 6
2. Cài đặt Apache Tomcat................................................................................................................. 7
2.1. Cài đặt Java Runtime Environment (JRE) ............................................................................. 7
2.2. Cài đặt Apache Tomcat .......................................................................................................... 7
3. Tạo project Web application với Netbeans ................................................................................. 14
3.1. Cấu hình Tomcat vào Netbeans ........................................................................................... 14
3.2. Tạo ứng dụng Web đầu tiên với Netbeans ........................................................................... 19
4. Giới thiệu về Twitter Bootstrap .................................................................................................. 23
4.1. Twitter Bootstrap là gì.......................................................................................................... 23
4.2. Tại sao lại dùng Bootstrap .................................................................................................... 24
4.3. Tạo giao diện đơn giản với Bootstrap .................................................................................. 24
4.4. Tạo trang chủ cho toàn bộ ví dụ trong giáo trình ................................................................. 26
CHƢƠNG II: Tổng quan về HTTP, Servlet và JSP ........................................................................... 30
1. Cơ bản về HTTP Request/Response ........................................................................................... 30
1.1. HTTP Request ...................................................................................................................... 31
1.2. HTTP Response.................................................................................................................... 32
2. Giới thiệu về Servlet/JSP ............................................................................................................ 34
2.1. Servlet là gì ? ........................................................................................................................ 35
2.2. Vòng đời của Servlet ............................................................................................................ 35
2.3. JSP và vòng đời của JSP ...................................................................................................... 36
2.4. Các thành phần của JSP ....................................................................................................... 37
2.5. Thiết kế ứng dụng web theo mô hình MVC......................................................................... 40
CHƢƠNG III: Xây dựng Web động với JSP ..................................................................................... 44


1. Quy trình xây dựng và triển khai ứng dụng Web với JSP .......................................................... 44
1.1. Tạo mới Web application project với Netbeans ................................................................... 44

Lập trình JSP, Servlet

Trang 1 / 164


Mục lục
1.2. Tạo mới trang login.jsp ........................................................................................................ 44
1.3. Tạo mới trang welcome.jsp .................................................................................................. 46
1.4. Khai báo Servlet ................................................................................................................... 47
1.5. Khai báo cấu hì nh web.xml .................................................................................................. 50
1.6. Triển khai ƣ́ng dụng lên Tomcat .......................................................................................... 50
2. Sử dụng các thành phần JSP directive ........................................................................................ 51
3. Sử dụng Template text trong JSP................................................................................................ 53
4. Sử dụng các thành phần JSP action (JSTL) ................................................................................ 53
CHƢƠNG IV: JavaBeans trong JSP .................................................................................................. 58
1. JavaBeans là gì ? ......................................................................................................................... 58
1.1. Khái niệm ............................................................................................................................. 58
1.2. Các quy ƣớc của Bean .......................................................................................................... 58
2. Khai báo, khởi tạo và thao tác với các đối tƣợng bean trong JSP .............................................. 58
2.1. Các JSP element dùng cho bean ........................................................................................... 58
2.2. Phƣơng pháp chuyển kiểu tự động của JSP với JavaBeans ................................................. 59
3. Introspector trong JSP ................................................................................................................. 60
4. Phạm vi hoạt động của JavaBeans .............................................................................................. 61
4.1. Application ........................................................................................................................... 61
4.2. Session.................................................................................................................................. 62
4.3. Pages..................................................................................................................................... 63
4.4. Request ................................................................................................................................. 64

CHƢƠNG V: Xử lý nhập-xuất trong JSP .......................................................................................... 67
1. Thao tác với dữ liệu từ đối tƣợng Request.................................................................................. 67
1.1. Sử dụng JSTL lấy dữ liệu từ đối tƣợng Request .................................................................. 69
1.2. Truy cập dữ liệu khác của đối tƣợng Request ...................................................................... 75
1.3. Sử dụng Javabeans lƣu giữ giá trị đối tƣợng Request .......................................................... 79
2. Kiểm tra xác thực dữ liệu đầu vào (Input) .................................................................................. 81
2.1. Sử dụng JSTL ....................................................................................................................... 81
2.2. Sử dụng Javabeans ............................................................................................................... 87
3. Định dạng dữ liệu đầu ra (Output) .............................................................................................. 91
CHƢƠNG VI: Chia sẻ dữ liệu giữa các trang JSP, Request và giữa các ngƣời dùng ....................... 94
1. Trao đổi điều khiển và dữ liệu giữa các trang............................................................................. 94

Lập trình JSP, Servlet

Trang 2 / 164


Mục lục
1.1. Chuyển quyền điều khiển từ một trang JSP tới trang JSP khác ........................................... 95
1.2. Trao đổi dữ liệu từ một trang JSP tới trang JSP khác .......................................................... 97
1.3. Kết hợp chuyển quyền điều khiển và trao đổi dữ liệu giữa các trang .................................. 98
2. Chia sẻ dữ liệu Session và Application..................................................................................... 101
2.1. Theo vết Session................................................................................................................. 101
2.2. Đếm số lƣợt ghé thăm trang ............................................................................................... 104
2.3. URL Rewrite ...................................................................................................................... 105
CHƢƠNG VII: Làm việc với Cookies và Database ........................................................................ 110
1. Cookies là gì?............................................................................................................................ 110
1.1. Khái niệm ........................................................................................................................... 110
1.2. Vòng đời của cookie........................................................................................................... 110
2. Thao tác với cơ sở dữ liệu (Database) ...................................................................................... 112

2.1. Truy cập cơ sở dữ liệu từ trang JSP ................................................................................... 112
2.2. Sử dụng Transactions ......................................................................................................... 129
CHƢƠNG VIII: Khai báo và sử dụng thƣ viện Custom Tag ........................................................... 133
1. Thƣ viện Custom Tag là gì ....................................................................................................... 133
2. Cài đặt thƣ viện Custom Tag .................................................................................................... 134
3. Sử dụng thƣ viện Custom Tag .................................................................................................. 135
4. Sử dụng Action trong thƣ viện Custom Tag ............................................................................. 139
4.1. Thiết lập giá trị cho thuộc tính của Custom action ............................................................ 140
4.2. Lựa chọn bean hay Custom action ..................................................................................... 140
CHƢƠNG IX: Điều quản lỗi và gỡ rối ............................................................................................ 142
1. Phân biệt các loại lỗi cú pháp ................................................................................................... 142
1.1. Các lỗi cú pháp ................................................................................................................... 142
1.2. Lỗi cú pháp của JSTL EL ................................................................................................... 147
2. Gỡ rối cho ứng dụng JSP .......................................................................................................... 151
3. Phân biệt các loại lỗi thực thi (Runtime error) ......................................................................... 156
3.1. Bắt ngoại lệ......................................................................................................................... 160
PHỤ LỤC I: Tài nguyên và tài liệu tham khảo ................................................................................ 164

Lập trình JSP, Servlet

Trang 3 / 164


Phân bổ chƣơng trình

PHÂN BỔ CHƢƠNG TRÌNH
BUỔI
STT
1


Lý thuyết

Lab01
Tổng quan về JSP

4
5

Lab02
Xây dựng Web động với JSP

6
7

Lab03
JavaBeans trong JSP

8
9

Lab04
Xử lý nhập – xuất trong JSP

10
11

Lab05
Chia sẻ dữ liệu giữa các trang, Request

12

13

Lab06
Làm việc với Cookies, Database

14
15

Lab07
Làm việc với Cookies, Database

16
17

Lab08
Thƣ viện Custom Tag

18
19
20

Thực hành

Bắt đầu với JSP

2
3

NỘI DUNG


Lab09
Điều quản lỗi và gỡ rối
Thi kết thúc môn học

Lập trình JSP, Servlet

Trang 4 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

CHƢƠNG I: Bắt đầu với Java Server Page (JSP)
Mục tiêu:
Sau khi kết thúc chƣơng này, bạn có thể:
 Nắm bắt đƣợc ý nghĩa của công nghệ JSP và Servlet
 Tự cài đặt đƣợc trình chủ Web Tomcat
 Sử dụng công cụ hỗ trợ lập trình Netbeans để tạo, triển khai dự án Web bằng
JSP
 Làm quen với công nghệ Twitter Bootstrap phục vụ cho việc thiết kế giao
diện Web chuyên nghiệp, hiệu quả

Java 2 Enterprise Edition (J2EE) có 1 mục đích to lớn là xây dựng và mở rộng nền
tảng Internet rộng lớn ; là nền tảng giúp cho những lập trình viên có thể sử dụng Java để
phát triển ứng dụng Web đa tầng và ứng dụng phía máy chủ. Ngày nay, Java Enterprise API
đƣợc mở rộng để phù hợp với các lĩnh vực nhƣ: RMI và CORBA cho việc quản lý các đối
tƣợng từ xa ; JDBC cho việc tƣơng tác với Database ; Enterprise JavaBeans để tạo các thành
phần business có tính tái sử dụng cao ; JAXP cho việc xử lý XML, … Thêm nữa, J2EE cũng
hỗ trợ Servlet một công nghệ phổ biến tuyệt vời thay thế cho ngôn ngữ kịch bản CGI. Việc
kết hợp những công nghệ này cho phép lập trình viên để tạo các giải pháp kinh doanh trên
nền tảng phân tán đảm nhiệm các nghiệp vụ phức tạp khác nhau.

Sau năm 1999, Sun Microsystems tăng cƣờng thêm sức mạnh cho nền tảng Java
Enterprise khi cho ra đời công nghệ Java Server Page (JSP). JSP đƣợc xây dựng trên tầng
Servlet và hƣớng tới việc tăng hiệu quả cho lập trình viên và cả những ngƣời ít hiểu biết về
lập trình có thể dễ dàng tạo ra ứng dụng Web.

1. Giới thiệu về Java Server Page và Servlet
1.1. Java Server Page là gì ?
Java Server Page là công nghệ hỗ trợ và cho phép xây dựng nền tảng Web động.
Không nhƣ những trang HTML thuần với nội dung tĩnh luôn hiển thị giống nhau, một trang
JSP có thể thay đổi nội dung tùy thuộc vào các tham số khác nhau nhƣ định danh ngƣời
dùng, loại trình duyệt ngƣời dùng, các thông tin do ngƣời dùng cung cấp, …
JSP còn đƣợc gọi là kịch bản trình chủ (Server script) đƣợc chạy trên nền JDK 1.3 trở
lên và ứng dụng Web Server để quản lý chúng. Web Server đƣợc sử dụng phổ biến hiện nay
nhƣ Apache Tomcat, Java Web Server, JRUN, Glassfish, WebLogic, …
Lập trình JSP, Servlet

Trang 5 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
1.2. Biên dịch trang JSP
Khi ngƣời sử dụng gọi trang JSP lần đầu tiên, Web Server sẽ triệu gọi trình biên dịch
JSP (là JDK) thành tập tin *.java, sau đó tập tin Java (Servlet) sẽ đƣợc biên dịch thành tập
tin *.class. Sau đó tập tin *.class sẽ đƣợc Web Server thực thi và trả kết quả lại cho ngƣời
dùng. Sơ đồ tóm tắt nhƣ sau:

1.3. Kịch bản (Script)
Nội dung của JSP có thể khai báo cùng với với HTML, bạn có thể sử dụng cặp dấu
<%= %> để khai báo mã JSP. Chẳng hạn, chúng ta khai báo:



Họ tên sinh viên: <%=strStudentName %>
Ngày sinh: <%=strBirthDate %>

Lập trình JSP, Servlet

Trang 6 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Giới tính: <%=strGender %>

Trong trƣờng hợp có nhiều khai báo, bạn có thể sử dụng Scriptlet <% %> với các
khai báo JSP giống hệt cú pháp Java nhƣ sau:
<%
int i=0;
String str=”Select * from TABLE”;
out.println(str);
%>

2. Cài đặt Apache Tomcat
Apache Tomcat (Tomcat) là một Application Server miễn phí đƣợc phát triển bởi
Apache Software Foundation, Tomcat giúp thực thi các ứng dụng viết bằng Java Servlet và
JSP.
Trong toàn bộ giáo trình này, chúng ta sẽ sử dụng phiên bản Tomcat 7.0 cho phần cài
đặt phía Server và cả môi trƣờng phát triển ứng dụng Web trên Netbeans.
2.1. Cài đặt Java Runtime Environment (JRE)
Tomcat yêu cầu trên máy bạn phải có phiên bản JRE (Java Runtime Environment) đã
đƣợc cài đặt sẵn, nên trƣớc khi bắt đầu bạn hãy kiểm tra xem máy tính của bạn đã có phiên
bản JRE nào chƣa. Bạn vào Command Dos sau đó gõ dòng lệnh sau:
java –version


Nếu có kết quả sau hiện ra thì chứng tỏ máy tính của bạn đã có phiên bản JRE đƣợc
cài đặt, nhƣ hình minh họa dƣới thì phiên bản JRE đó là 1.7.0_45.

Nếu không có thông báo trên bạn có thể vào link sau
để download JRE,
phiên bản mới nhất.
2.2. Cài đặt Apache Tomcat

Lập trình JSP, Servlet

Trang 7 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Sau khi hoàn tất bƣớc kiểm tra JRE, bạn vào đƣờng link sau
để download Tomcat phiên bản 7.0. Bạn chọn
download bộ Windows Services Installer.

Sau khi download hoàn tất, mở file *.exe và nhấn Next để bắt đầu quá trình cài đặt.

Bạn chọn I Agree để tiếp tục.

Lập trình JSP, Servlet

Trang 8 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)


Ở màn hình tiếp theo bạn chọn chế độ cài đặt mặc định (Normal) sau đó nhấn Next để
tiếp tục.

Lập trình JSP, Servlet

Trang 9 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Ở bƣớc tiếp theo bạn thiết lập cổng (port, mặc định là 8080) cho Tomcat, và
password để đăng nhập vào phần quản lý Tomcat sau khi hoàn tất cài đặt. Tôi chọn
username / password là admin / admin.

Bƣớc tiếp theo bạn chọn đƣờng dẫn tới thƣ mục cài đặt JRE, mặc định sẽ là
C:\Program Files\Java\jre7. Sau đó bạn nhấn Next để tiếp tục.

Lập trình JSP, Servlet

Trang 10 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Bạn chọn thƣ mục để chƣa các file cài đặt Tomcat, mặc định là C:\Program
Files\Apache Software Foundation\Tomcat 7.0. Sau đó nhấn Next để tiếp tục.

Màn hình tiếp theo thông báo quá trình cài đặt đang diễn ra.

Lập trình JSP, Servlet


Trang 11 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Sau khi vạch chạy trên màn hình cài đặt hiển thị hết, bạn đƣợc chuyển tới màn hình
cuối cùng. Tại đây bạn nhấn chọn Run Apache Tomcat (để khởi động ngay Tomcat server
sau khi quá trình cài đặt hoàn tất), và nhấn Finish để kết thúc.

Sau khi bạn nhấn Finish, 1 màn hình hiện nên thông báo server Tomcat đang đƣợc
khởi động lên.
Lập trình JSP, Servlet

Trang 12 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Sau khi server Tomcat đƣợc khởi động, bạn sẽ thấy có biểu tƣợng sau trên thanh hệ
thống (system tray).

Biểu tƣợng này thông báo server Tomcat đang ở trạng thái hoạt động, để kiểm tra bạn
vào trình duyệt Firefox và truy cập tới http://localhost:8080.

Màn hình trên hiện ra thông báo Tomcat đã đƣợc cài đặt thành công, để xem thêm
thông tin về server Tomcat, bạn nhấn vào link Server Status ở thanh menu bên trái của màn
hình này và nhập vào username / password đã thiết lập ở bƣớc trên (admin / admin).

Màn hình Server status hiện ra cung cấp cho bạn những thông tin tổng quan về môi
trƣờng cài đặt Tomcat, bạn có thể thấy:

 Phiên bản của Tomcat server.
 Phiên bản của JVM \ JRE (Java Virtual Machine \ Java Runtime Environment).
 Hệ điều hành của máy chủ.

Lập trình JSP, Servlet

Trang 13 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

3. Tạo project Web application với Netbeans
3.1. Cấu hình Tomcat vào Netbeans
Sau khi cài đặt Tomcat thành công ở bƣớc trƣớc, ta sẽ cấu hình để Netbeans sẽ sử
dụng Tomcat Server cho các ứng dụng Web về sau.
Chọn Tools trên thanh menu, sau đó chọn mục Servers nhƣ hình dƣới

Danh sách các cấu hình Server sẽ đƣợc hiển thị, để thêm cấu hình mới cho Tomcat,
bạn chọn nút bấm Add Server.

Lập trình JSP, Servlet

Trang 14 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Chọn loại Server và đặt tên cho nó, ở đây bạn nhập Apache Tomcat 7.

Ấn Next, để tiếp tục cấu hình.


Lập trình JSP, Servlet

Trang 15 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Cung cấp đƣờng dẫn tới vị trí Tomcat Server đƣợc cài đặt ở bƣớc trƣớc, và cung cấp
thông tin tài khoản quản trị server admin/admin. Và ấn Finish, cấu hình mới cho Server sẽ
xuất hiện ở phía bên trái cửa sổ hiện tại. Ta có thể đặt giá trị khác 8080 cho Server Tomcat
port, ví dụ hình vẽ là cổng 8085.

Lập trình JSP, Servlet

Trang 16 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Ấn Close, bây giờ Tomcat 7 có thể sử dụng (Start, Stop, Deploy, …) từ trong
Netbeans. Mở cửa sổ Services (Window > Services) và sử dụng

Lập trình JSP, Servlet

Trang 17 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)


Cửa sổ Tomcat output xuất hiện trong Netbeans nhƣ sau

Sau vài giây, Tomcat sẽ đƣợc chạy, trang chủ sẽ hiển thị trên trình duyệt với địa chỉ
http://server:port nhƣ sau

Lập trình JSP, Servlet

Trang 18 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

3.2. Tạo ứng dụng Web đầu tiên với Netbeans
Sau khi khởi động xong Netbeans, ta tiến hành tạo Web application project lần lƣợt
theo các bƣớc trình tự nhƣ sau:
Mở menu File > New Project > Java Web > Web application nhƣ hình dƣới

Lập trình JSP, Servlet

Trang 19 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Ấn Next, cửa sổ mới mở ra với tên Project mặc định, ta đổi tên Project thành
JspWebApplication, và ấn Next.

Cửa sổ mới mở ra với các thông tin cấu hình đƣợc thiết lập, ta chọn Apache Tomcat
trong mục Server và Java EE 6 Web cho mục Java EE Version. Ấn Finish

Lập trình JSP, Servlet


Trang 20 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Cửa sổ chính hiện lên và tạo sẵn đoạn code mẫu trong file index.jsp trong thƣ mục
Web Pages dƣới project JspWebApplication nhƣ hình sau

Bây giờ thay đổi một chút đoạn code mẫu ở trên: thay đổi tiêu đề thành “JSP Web
Page” và thay đổi phần heading thành “Welcome To The JSP Web World!” nhƣ sau

Lập trình JSP, Servlet

Trang 21 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Tiếp theo, ta chạy ứng dụng với Tomcat Server. Mở cửa sổ Services, và chọn Apache
Tomcat, chọn RUN nhƣ sau

Lập trình JSP, Servlet

Trang 22 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)

Trên trình duyệt sẽ hiển thị thông tin trên trang index.jsp ở trên nhƣ sau


Vậy là hoàn tất một project mẫu xây dựng ứng dụng Web sử dụng JSP.

4. Giới thiệu về Twitter Bootstrap
4.1. Twitter Bootstrap là gì

Lập trình JSP, Servlet

Trang 23 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Twitter Bootstrap bao gồm các mã CSS và HTML cơ bản cho Grids, Layouts,
Typography, Tables, Forms, Navigation, Alerts, .. và nhiều thành phần khác của website. Đi
kèm với hàng loạt plugin jquery để tạo ra các thành phần giao diện nhƣ Transitions, Modal,
Dropdown, Scrollspy, Tooltip, Tab, Alert, Button, Collapse, Carousel, ...
Style của các phần tử HTML trong Twitter Bootstrap khá đơn giản và thanh lịch. Ví
dụ nhƣ phần đổ bóng trong input, highlight của bảng biểu, các mã CSS hiển thị cảnh báo,
tabs, phân trang…
4.2. Tại sao lại dùng Bootstrap
Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css.
Bootstrap định nghĩa sẵn các class css công việc của chúng ta chỉ là sử dụng các class
đó vào mục đích của mình.
Bootstrap còn hổ trợ Responsive design một cách làm giao diện đa thiết bị rất đƣợc
ƣu chuộng trong thời gian gần đây.
Các lý do trên khiến cho Bootstrap sẽ rất hữu dụng trong các bài học của chúng ta.
Thêm nữa sẽ biến các bài mẫu, ví dụ trở nên sinh động, đẹp hơn; cũng giúp các bạn có thêm
công cụ hỗ trợ tuyệt vời để xây dựng các ứng dụng web.
4.3. Tạo giao diện đơn giản với Bootstrap
Bootstrap tải về tại đây: />Sau khi tải về, ta sẽ có một file Zip và sau khi tiến hành giải nén ta có một thƣ mục có

tên bootstrap, bên trong có 3 thƣ mục: css, img, js. Nội dung các file, thƣ mục chứa trong đó
nhƣ sau
.
| - Css
| | - Bootstrap.css
| | - Bootstrap.min.css
| | - Bootstrap-responsive.css
| `- Bootstrap-responsive.min.css
| - Img
| | - Glyphicons-halflings.png
| `- Glyphicons-Halflings-white.png
`- Js
| - Bootstrap.js
`- Bootstrap.min.js

Lập trình JSP, Servlet

Trang 24 / 164


Chƣơng I: Bắt đầu với Java Server Page (JSP)
Chúng ta tạo 1 file html có tên là index.html ở trong thƣ mục bootstrap vừa giải nén
phía trên. Khai báo phần Head để sử dụng Bootstrap đơn giản nhƣ sau

Ta viết tiếp phần body với 2 textbox và 2 button nhƣ sau:

Vậy là hoàn thành ví dụ đơn giản với Bootstrap, mở file index.html trên trình duyệt,
ta sẽ thấy

Lập trình JSP, Servlet


Trang 25 / 164


×