Tài liệu Bài giảng Lập trình Java 4 - Bài 2: Cơ bản Servlet - Trường Cao đẳng FPT: Bài 2: Cơ bản Servlet
Mục tiêu bài học
- Servlet là gì?
- Servlet Scope Object
- Servlet Request
- Servlet Response
- Section Tracking
Đặc điểm của công nghệ web tĩnh
Chỉ chứa các nội dung cố định,
Khó cập nhật nội dung, khó nâng cấp mở rộng nên chỉ
thích hợp với những doanh nghiệp nhỏ,
Không thân thiện với người dùng, người dùng muốn cập
nhật, thêm mới thông tin thì phải hiểu biết ngôn ngữ lập
trình HTML
Khả năng tương tác yếu
Sự tiến hóa của công nghệ web
Do đó phát sinh nhu cầu sử dụng trang web như một ứng
dụng:
• Kết nối đến CSDL, do đó web có thể lưu trữ lượng
thông tin lớn
• Nhận yêu cầu từ phía client, xử lý và tính toán trên
server
• Nhiều người có thể cùng lúc cập nhật, thêm mới dữ liệu
cho web mà không cần hiểu biết ngôn ngữ lập trình
Có rất nhiều công nghệ để cho phép ta đưa ứng dụng vào chạy
trong môi trường web như: CGI, ASP, ISAPI, JSP, Servlet
trong số đó có JSP/Servlet là công nghệ của Java
CGI...
44 trang |
Chia sẻ: quangot475 | Lượt xem: 904 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Lập trình Java 4 - Bài 2: Cơ bản Servlet - Trường Cao đẳng FPT, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bài 2: Cơ bản Servlet
Mục tiêu bài học
- Servlet là gì?
- Servlet Scope Object
- Servlet Request
- Servlet Response
- Section Tracking
Đặc điểm của công nghệ web tĩnh
Chỉ chứa các nội dung cố định,
Khó cập nhật nội dung, khó nâng cấp mở rộng nên chỉ
thích hợp với những doanh nghiệp nhỏ,
Không thân thiện với người dùng, người dùng muốn cập
nhật, thêm mới thông tin thì phải hiểu biết ngôn ngữ lập
trình HTML
Khả năng tương tác yếu
Sự tiến hóa của công nghệ web
Do đó phát sinh nhu cầu sử dụng trang web như một ứng
dụng:
• Kết nối đến CSDL, do đó web có thể lưu trữ lượng
thông tin lớn
• Nhận yêu cầu từ phía client, xử lý và tính toán trên
server
• Nhiều người có thể cùng lúc cập nhật, thêm mới dữ liệu
cho web mà không cần hiểu biết ngôn ngữ lập trình
Có rất nhiều công nghệ để cho phép ta đưa ứng dụng vào chạy
trong môi trường web như: CGI, ASP, ISAPI, JSP, Servlet
trong số đó có JSP/Servlet là công nghệ của Java
CGI là gì?
Là một chuẩn để viết ứng dụng web, được lập trình
bằng C, C++ hoặc Perl.
CGI cho phép máy chủ web gọi chương trình bên ngoài
và chuyển thông tin yêu cầu tới một chương trình bên
ngoài khác để xử lý.
Với mỗi yêu cầu, chương trình CGI sẽ khởi tạo một tiến
trình mới
CGI là gì?
CGI là gì?
Nhược điểm của CGI
1. Nếu số client tăng thì thời gian trả lời yêu cầu từ client
tăng lên
2. Với mỗi yêu cầu, nó khởi tạo một tiến trình trong khi
máy chủ Web bị hạn chế về tài nguyên
Servlet là gì?
Servlet là các đối tượng Java, mở rộng chức năng của
một HTTP server, do đó được viết bằng ngôn ngữ Java
Là những chương trình độc lập platform và chạy phía
server
Cơ chế hoạt động theo mô hình CGI mở rộng
Chương trình servlet:
• Thường extends class HttpServlet. Không có method
main
• Phải được dịch ra ở dạng byte-code và khai báo với
web server
Servlet là gì?
Servlet là gì?
Servlet có nhiều ưu điểm so với CGI.
• Hiệu suất xử lý tốt hơn(better performance): vì nó tạo
ra một thread cho một yêu cầu chứ không phải tiến
trình.
• Khả chuyển: bởi vì servlet được phát triển từ ngôn
ngữ Java
• Mạnh(Robust): Servlet được quản lý bởi JVM, JVM chủ
động quản lý bộ nhớ và thu thập rác.
• An toàn(Secure): bởi vì Java là ngôn ngữ an toàn
Vòng đời của servlet
Vòng đời của Servlet
Có 5 bước:
• Tải Servlet Class vào bộ nhớ.
• Tạo đối tượng Servlet.
• Gọi method servlets init()
• Gọi method servlets service().
• Gọi method servlets destroy()
Vòng đời của Servlet
Bước 1, 2 và 3 được thực thi một lần duy nhất, khi mà
servlet được nạp lần đầu. Mặc định các servlet không
được tải lên cho tới khi nó nhận một đòi hỏi đầu tiên từ
người dùng. Bạn có thể buộc ServletContainer (Bộ chứa
các servlet) tải các servlet khi nó khởi động.
Bước 4 được thực thi nhiều lần, mỗi khi có đòi hỏi từ
phía người dùng tới servlet.
Bước 5 nó được thực thi khi bộ chứa servlet (Servlet
Container) trút bỏ (unloaded) servlet
Các phương thức trong vòng đời Servlet
Các phương thức trong vòng đời Servlet
Các phương thức trong vòng đời Servlet
int() đọc tham số cấu hình
Thiết lập các tham số trong web.xml
destroy()
service()
Method service() của servlet được gọi mỗi khi có request
từ client đến. Tùy vào các tình huống cụ thể nó gọi đến
một trong các method doGet(..), doPost(...). Tại các servlet
của bạn, bạn phải ghi đè và xử lý tại các method này
service()
service()
service()
doGet() và doPost()
doGet() và doPost()
Ví dụ doGet()
Mô hình Servlet Request & Response
Nhiệm vụ của Servlet:
• Nhận client request ( Hầu hết ở dạng HTTP request)
• Trích xuất 1 số thông tin từ request
• Xử lý nghiệp vụ ( truy vấn DB, gọi EJBs,) hoặc sinh nội
dung động
• Tạo và gửi response cho client ( hầu hết ở dạng HTTP
response ) hoặc forward request cho servlet khác
Servlet Request
Servlet Request
Servlet Request
Servlet Request
Servlet Response
Servlet Response
Cấu trúc Response
Servlet Response
Cấu trúc Response
Servlet Response
Cấu trúc Response
Response Header dùng làm gì?
Phương thức thiết lập Response Header
Response Body
Session Tracking
Vì phương thức HTTP là stateless (ko lưu các thông tin
lịch sử), điều này ảnh hưởng sâu sắc đến lập trình ứng
dụng web. Có 4 kỹ thuật để lưu dấu session:
• URL rewritting – Thêm các tham số vào cuối URL
• Hidden fields – Sử dụng các trường ẩn
• Cookies – Sử dụng cookie để trao đổi dữ liệu giữa client
và server
• Session objects – Sử dụng các đối tượng có phạm vi
(scope) là session để truyền thông tin.
Session Tracking
URL Rewritting:
VD:
Phần sau ?x=abc&y=xyz là phần được thêm vào để
truyền 2 parameter x và y
Để lấy giá trị này ta dùng lệnh
request.getParameter(“x”), tương tự với y.
Session Tracking
Hidden fields:
Để lấy giá trị này ta dùng lệnh
request.getParameter(“hField”).
Session Tracking
Cookies: được lưu bởi server và gửi về client cùng
response. Request được gửi tới server cùng với cookie
nhưng ko thay đổi giá trị của cookie. Giá trị của cookie
được lưu trong bộ nhớ (ổ cứng ) của client.
Session Tracking
VD1: lưu cookie (sử dụng response)
VD2: đọc cookie
XIN CẢM ƠN!
Các file đính kèm theo tài liệu này:
- sof301_slide2_6708_2154500.pdf