Tải bản đầy đủ (.ppt) (36 trang)

Java 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 (347.21 KB, 36 trang )


Java Servlet
Java Servlet


Khoa Mạng máy tính và Truyền thông
Khoa Mạng máy tính và Truyền thông
Đại học Công nghệ Thông tin
Đại học Công nghệ Thông tin


Nội dung
Nội dung

Giới thiệu chung
Giới thiệu chung

Ví dụ mở đầu
Ví dụ mở đầu

HTTP Servlets
HTTP Servlets

Session Tracking
Session Tracking

Cookies
Cookies


Java Servlet


Java Servlet

Servlet là các chương trình chạy trên máy
Servlet là các chương trình chạy trên máy
server (servlet container)
server (servlet container)

Hoạt động như là lớp trung gian giữa máy
Hoạt động như là lớp trung gian giữa máy
client (với các yêu cầu HTTP) và CSDL hoặc
client (với các yêu cầu HTTP) và CSDL hoặc
các ứng dụng khác
các ứng dụng khác

Phát sinh các nội dung (HTML) động
Phát sinh các nội dung (HTML) động
Web
Browser
Web
Server
HTTP
Request
HTTP
Response
CSDL
CSDL
Java Application /
Java Application /
WebService
WebService

Servlet


CGI: Common Gateway Interface
CGI: Common Gateway Interface

Các chương trình CGI truyền thống thực
Các chương trình CGI truyền thống thực
thi trên Web server phục vụ các yêu cầu
thi trên Web server phục vụ các yêu cầu
HTTP từ client
HTTP từ client

Client gửi một HTTP request
Client gửi một HTTP request

Server thực thi chương trình CGI
Server thực thi chương trình CGI

HTTP server nhận kết quả trả về từ chương
HTTP server nhận kết quả trả về từ chương
trình CGI (thường dưới dạng HTML) và gửi
trình CGI (thường dưới dạng HTML) và gửi
trả về cho client
trả về cho client


Java Servlet vs. CGI
Java Servlet vs. CGI


Ưu điểm của servlet
Ưu điểm của servlet

Hiệu quả hơn, mạnh mẽ hơn
Hiệu quả hơn, mạnh mẽ hơn

Dễ sử dụng
Dễ sử dụng

Khả chuyển
Khả chuyển

An toàn hơn
An toàn hơn


Java Servlet vs. Java Applet
Java Servlet vs. Java Applet

Servlet là server-side prog., thực thi ở phía
Servlet là server-side prog., thực thi ở phía
server; applet là client-side prog., thực thi ở
server; applet là client-side prog., thực thi ở
máy client (browser)
máy client (browser)

Servlet tạo nên nội dung động gửi về cho
Servlet tạo nên nội dung động gửi về cho
client; applet làm cho trang web thêm sống
client; applet làm cho trang web thêm sống

động
động

Không giống như applet, servlet không có
Không giống như applet, servlet không có
GUI mà chỉ cài đặt những thao tác xử lý
GUI mà chỉ cài đặt những thao tác xử lý
business logic
business logic


Ví dụ mở đầu
Ví dụ mở đầu
import java.io.*;
import javax.servlet.*;
public class SimpleGenericServlet extends GenericServlet {

public void service (ServletRequest request,
ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.println("Hello World");
out.close();
}
}


Ví dụ mở đầu
Ví dụ mở đầu


service()
service()
: là phương thức quan trọng
: là phương thức quan trọng
nhất trong một servlet
nhất trong một servlet

Xác định nhiệm vụ của servlet
Xác định nhiệm vụ của servlet

Được tự động gọi thực hiện khi có yêu cầu từ
Được tự động gọi thực hiện khi có yêu cầu từ
client
client

Phải được override khi lập trình servlet
Phải được override khi lập trình servlet

Phương thức này nhận vào hai tham số
Phương thức này nhận vào hai tham số

ServletRequest
ServletRequest

ServletResponse
ServletResponse


ServletRequest & ServletResponse

ServletRequest & ServletResponse

Được định nghĩa trong package
Được định nghĩa trong package
javax.servlet
javax.servlet

Đối tượng
Đối tượng
request
request


response
response
được
được
server truyền vào khi gọi thực thi phương
server truyền vào khi gọi thực thi phương
thức
thức
service
service

request
request

Chứa tất cả những thông tin từ browser gửi lên
Chứa tất cả những thông tin từ browser gửi lên
server

server

response
response

Được sử dụng để gửi thông tin về cho browser
Được sử dụng để gửi thông tin về cho browser


Biên dịch và thực thi servlet
Biên dịch và thực thi servlet

Biên dịch
Biên dịch

Cần có gói thư viện
Cần có gói thư viện
servlet.jar
servlet.jar

Môi trường thực thi
Môi trường thực thi

Cài đặt và khởi động Tomcat
Cài đặt và khởi động Tomcat

Đặt các servlet đúng vị trí trên server
Đặt các servlet đúng vị trí trên server

Thực thi

Thực thi

http://<server>:8080/servlet/<tên-servlet>
http://<server>:8080/servlet/<tên-servlet>


javax.servlet
javax.servlet

Interface
Interface
Servlet
Servlet
: khai báo các
: khai báo các
phương thức của một servlet (
phương thức của một servlet (
init(),
init(),
service(),
service(),




)
)

GenericServlet
GenericServlet

thi công interface
thi công interface
Servlet
Servlet

HttpServlet
HttpServlet
là lớp dẫn xuất từ lớp
là lớp dẫn xuất từ lớp
GenericServlet
GenericServlet
và bổ sung những
và bổ sung những
tính năng đặc thù của HTTP
tính năng đặc thù của HTTP

Về mặt kỹ thuật, một servlet là một lớp
Về mặt kỹ thuật, một servlet là một lớp
(chương trình) kế thừa hoặc lớp
(chương trình) kế thừa hoặc lớp
GenericServlet
GenericServlet
hoặc
hoặc
HttpServlet
HttpServlet
Servlet
Servlet
GenericServlet
GenericServlet

HttpServlet
HttpServlet


Chu kỳ sống của servlet
Chu kỳ sống của servlet

Hoạt động của các servlet được kiểm soát
Hoạt động của các servlet được kiểm soát
bởi server
bởi server

Server nạp và khởi tạo một servlet
Server nạp và khởi tạo một servlet

Tạo một thread để thực thi servlet
Tạo một thread để thực thi servlet

Servlet có thể xử lý nhiều yêu cầu đồng thời
Servlet có thể xử lý nhiều yêu cầu đồng thời

Server kết thúc hoạt động của một servlet
Server kết thúc hoạt động của một servlet
Server
Server
Servlet
Servlet
Servlet
Servlet
load

unload
Thread
Thread
Thread
Thread
Client
Client


Chu kỳ sống của servlet
Chu kỳ sống của servlet

Các phương thức thực thi
Các phương thức thực thi

public void init()
public void init()

Được gọi thực thi 1 lần duy nhất khi khởi tạo servlet
Được gọi thực thi 1 lần duy nhất khi khởi tạo servlet

Dùng để khởi tạo trạng thái, mở file, thiết lập kết nối
Dùng để khởi tạo trạng thái, mở file, thiết lập kết nối
CSDL, …
CSDL, …

public void service()
public void service()

Được gọi thực thi để phục vụ các yêu cầu của client

Được gọi thực thi để phục vụ các yêu cầu của client

public void destroy()
public void destroy()

Được gọi thực thi 1 lần duy nhất để hủy một servlet
Được gọi thực thi 1 lần duy nhất để hủy một servlet

Giải phóng tài nguyên
Giải phóng tài nguyên


HTTP Servlet
HTTP Servlet

Các phương thức của HTTP servlet tương
Các phương thức của HTTP servlet tương
ứng với các yêu cầu HTTP
ứng với các yêu cầu HTTP

Các phương thức trên nhận vào hai tham
Các phương thức trên nhận vào hai tham
số là hai đối tượng
số là hai đối tượng
HttpServletRequest
HttpServletRequest


HttpServletResponse
HttpServletResponse

Phương thức HTTP request
doGet
GET, HEAD
doPost
POST
... ...

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×