Bài giảng Lập trình mạng - Chương 5, Phần 1: Lập trình Web chạy ở Server - Nguyễn Cao Đạt

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB CHẠY Ở  
SERVER  
CHƯƠNG V  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 1  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Nội dung  
z Lập trình Web với CGI  
z Lập trình Web với Servlet  
z Lập trình Web vi JSP  
z Lập trình Web với ASP (???)  
z Lập trình Web với PHP (tự học)  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 2  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Trang HTML chỉ chứa các nội dung cố định hoặc có  
thể thao tác thay đổi qua DHTML ở client.  
z Nhu cầu sử dụng các trang web như một ứng dụng  
(giao tiếp với user, tìm kiếm, nội dung thay đổi,  
tương tác các ứng dụng, với database…)=> ứng  
dụng web.  
z CGI (Common Gateway Interface) là một chuẩn  
(standard) để viết ứng dụng web.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 3  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Các đặc điểm  
– Là ứng dụng chạy trên nền web server.  
– Nhận thông tin từ web browser và xuất thông tin để web  
browser hiển thị thông qua web server.  
– Ứng dụng có thể được viết với bất cứ ngôn ngữ lập trình  
script, Dos shell…)  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 4  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Cách thức hoạt động của ứng dụng web CGI  
– Web server nhận request ứng dụng CGI từ browser.  
– Web server gọi ứng dụng CGI, truyền các thông số bằng  
các biến môi trường(thông qua standard input).  
– Ứng dụng web CGI xử lý, giao tiếp với các ứng dụng  
khác (database, mail…), xuất kết quả dạng HTML qua  
standard output đến web server.  
– Web server nhận kết quả và trả về cho browser.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 5  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Hình vẽ minh họa hoạt động CGI  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 6  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Hình vẽ minh họa hoạt động CGI (Perl)  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 7  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Ví dụ (Perl)  
#!/perl/bin/perl  
#Remember : this path will vary depending on  
#where Perl is located  
print "Content-type:text/html\n\n";  
print "<html><head><title>HELLO!</title></head>";  
print "<body>\n";  
print "<h2>Hello!</h2>\n";  
foreach $
print "VARIABLE $key = $ENV{$key}<br>\n";  
}
print "</body></html>\n";  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 8  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Các biến môi trường  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 9  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Các biến môi trường  
z Ví dụ  
Để in ra địa chỉ IP của máy khách:  
print "IP Address = $ENV{'REMOTE_ADDR'}\n";  
z Một số các ví dụ cụ thể  
– Dùng phý là QUERY_STRING  
– Dùng phương thức POST.  
– Lưu các biến dùng COOKIE hoặc Session.  
– Lập trình CGI kết nối với CSDL.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 10  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình web với CGI  
z Tài liệu tham khảo  
– Perl Programming  
n.html  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 11  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Giới thiệu Servlet  
z Java servlet là những chương trình độc lập platform  
và nhỏ chạy ở phía server được lập trình để mở rộng  
chức năng của web server(Web server phải hỗ trợ  
Java).  
z Cơ chế hoạt động theo mô hình CGI mở rộng.  
z 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(.class) và khai báo với  
web server.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 12  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Giới thiệu Servlet  
z Cần có package servlet.jar để biên dịch  
z Các server hiện hỗ trợ Servlet:  
– Apache Tomcat (http://jakarta.apache.org)  
– Sun’s Java Web Server, free, hiện không cho download  
– New Atlanta’s ServletExec, tích hợp ServletEngine vào các web  
– …  
z Tham khảo các tài liệu về Servlet:  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 13  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Vòng đời của Servlet  
Không tồn tại  
Tạo ra  
(Doses not exist)  
(Instantiated)  
Không sẳn  
sàng  
Sẳn sàng phục vụ  
Unavailable  
Huỷ  
Phục vụ  
(Destroyed)  
(Service)  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 14  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình với Servlet API (t.t)  
z Java Servlet API gồm:  
– javax.servlet.*  
z Chứa các class và interface độc lập với HTTP  
– javax.servlet.http.*  
z Chứa các class cụ thể cho HTTP  
z Tất cả sevlet đều phải hiện thực giao diện  
javax.servlet.Servlet.  
z Tuy nhiên do chúng ta dùng giao thức HTTP nên  
javax.servlet.http.HttpServlet là lớp hiện thực giao diện  
Servlet, nên  
z Vì vậy ta thường phải kế thừa từ lớp này và override các  
method doGet()/doPost().  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 15  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình với Servlet API (t.t)  
Mục đích  
Class/Interface  
Hiện thực servlet  
javax.servlet.Servlet  
javax.servlet.SingleThreadModel  
javax.servlet.GenericServlet  
javax.servlet.http.HttpServlet  
javax.servlet.ServletConfig  
Cấu hình sevlet  
Servlet Exception  
Requests  
javax.servlet.ServletException  
avax.sevet.SevleRequest  
javax.servlet.http.HttpServletRequest  
javax.servlet.ServletInputStream  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 16  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Lập trình với Servlet API (t.t)  
Mục đích  
Class/Interface  
Responses  
javax.servlet.ServletResponse  
javax.servlet.http.HttpServletResponse  
javax.servlet.ServletOutput  
Session tracking  
Javax.servlet.http.HttpSession  
Servlet context  
Javax.servlet.ServletContext  
Servlet collabora
atcher  
Javax.servlet.http.Cookie  
Java.servlet.http.HttpUtils  
Khác  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 17  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Cơ chế hoạt động của servlet  
z Web server nhận yêu cầu triệu gọi servlet từ client.  
z Nếu servlet chạy lần đầu, web server load file  
servlet tương ứng, khởi tạo các thông số bằng  
qua method init()  
z Nếu servlet đã được khởi tạo, tạo một thread  
để xử lý yêu cầu.  
z Gọi methods doXxx() để xử lý các request tương ứng  
theo giao thức HTTP:  
– doGet cho HTTP GET, doPost cho HTTP POST  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 18  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Cấu trúc đơn giản của một Servlet  
import java.io.*;  
import java.servlet.*;  
import java.servlet.http.*;  
public class Sample extends HttpServlet{  
public doGt,  
HttpServletResponse response)  
throws ServletException,IOException{  
//dùng đối tượng “request” để đọc dữ liệu từ client  
//dùng đối tượng “response” để xuất dữ liệu cho client  
//dùng đối tượng out để ghi (method print) dữ liệu cho client  
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 19  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
Một Servlet đơn giản  
import java.io.*;  
import javax.servlet.*;  
import javax.servlet.http.*;  
public class HelloWorld extends HttpServlet {  
public void doGet(HttpServletRequest request,  
HttpServletResponse response)  
out.pri
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 20  
Tải về để xem bản đầy đủ
pdf 42 trang Thùy Anh 13960 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình mạng - Chương 5, Phần 1: Lập trình Web chạy ở Server - Nguyễn Cao Đạt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_mang_chuong_5_phan_1_lap_trinh_web_chay.pdf