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
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
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
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,
dụng web.
(standard) để viết ứng dụng web.
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 3
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
có standard input và standard output. (C/C++, Perl, Shell
script, Dos shell…)
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 4
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
standard output đến web server.
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 5
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
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
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
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
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:
z Một số các ví dụ cụ thể
– 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
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
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 Chương trình servlet:
web server.
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 12
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:
– Sun’s Java Web Server, free, hiện không cho download
– …
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
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
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.
Servlet, nên
method doGet()/doPost().
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 15
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
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
Java.servlet.http.HttpSessionBindingListener
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
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()
để xử lý yêu cầu.
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
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
PrintWriter out = response.getWriter();
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 19
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)
PrintWriter out = response.getWriter();
out.pri
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin
Trang 20
Tải về để xem bản đầy đủ
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:
- bai_giang_lap_trinh_mang_chuong_5_phan_1_lap_trinh_web_chay.pdf