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  
LP TRÌNH WEB CHY Ở  
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  
Ni dung  
z Lp trình Web vi CGI  
z Lp trình Web vi Servlet  
z Lp trình Web vi JSP  
z Lp trình Web vi ASP (???)  
z Lp trình Web vi PHP (thc)  
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  
Lp trình web vi CGI  
z Trang HTML chcha các ni dung cố định hoc có  
ththao tác thay đổi qua DHTML client.  
z Nhu cu sdng các trang web như mt ng dng  
(giao tiếp vi user, tìm kiếm, ni dung thay đổi,  
tương tác các ng dng, vi database…)=> ng  
dng web.  
z CGI (Common Gateway Interface) là mt chun  
(standard) để viết ng dng 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  
Lp trình web vi CGI  
z Các đặc đim  
ng dng chy trên nn web server.  
Nhn thông tin tweb browser và xut thông tin để web  
browser hin ththông qua web server.  
ng dng có thể được viết vi bt cngôn nglp 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  
Lp trình web vi CGI  
z Cách thc hot động ca ng dng web CGI  
Web server nhn request ng dng CGI tbrowser.  
Web server gi ng dng CGI, truyn các thông sbng  
các biến môi trường(thông qua standard input).  
ng dng web CGI xlý, giao tiếp vi các ng dng  
khác (database, mail…), xut kết qudng HTML qua  
standard output đến web server.  
Web server nhn kết quvà trvcho 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  
Lp trình web vi CGI  
z Hình vminh ha hot độ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  
Lp trình web vi CGI  
z Hình vminh ha hot độ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  
Lp trình web vi 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  
Lp trình web vi 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  
Lp trình web vi CGI  
z Các biến môi trường  
z Ví dụ  
Để in ra địa chIP ca máy khách:  
print "IP Address = $ENV{'REMOTE_ADDR'}\n";  
z Mt scác ví dcthể  
Dùng phý là QUERY_STRING  
Dùng phương thc POST.  
Lưu các biến dùng COOKIE hoc Session.  
Lp trình CGI kết ni vi 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  
Lp trình web vi CGI  
z Tài liu tham kho  
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  
Gii thiu Servlet  
z Java servlet là nhng chương trình độc lp platform  
và nhchy phía server được lp trình để mrng  
chc năng ca web server(Web server phi htrợ  
Java).  
z Cơ chế hot động theo mô hình CGI mrng.  
z Chương trình servlet:  
Thường extends class HttpServlet. Không có method main.  
Phi được dch ra dng byte-code(.class) và khai báo vi  
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  
Gii thiu Servlet  
z Cn có package servlet.jar để biên dch  
z Các server hin htrServlet:  
Apache Tomcat (http://jakarta.apache.org)  
Sun’s Java Web Server, free, hin không cho download  
New Atlanta’s ServletExec, tích hp ServletEngine vào các web  
…  
z Tham kho các tài liu vServlet:  
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 ca Servlet  
Không tn ti  
To ra  
(Doses not exist)  
(Instantiated)  
Không sn  
sàng  
Sn sàng phc vụ  
Unavailable  
Huỷ  
Phc 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  
Lp trình vi Servlet API (t.t)  
z Java Servlet API gm:  
javax.servlet.*  
z Cha các class và interface đc lp vi HTTP  
javax.servlet.http.*  
z Cha các class cthcho HTTP  
z Tt csevlet đều phi hin thc giao din  
javax.servlet.Servlet.  
z Tuy nhiên do chúng ta dùng giao thc HTTP nên  
javax.servlet.http.HttpServlet là lp hin thc giao din  
Servlet, nên  
z Vì vy ta thường phi kế tha tlp 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  
Lp trình vi Servlet API (t.t)  
Mc đích  
Class/Interface  
Hin thc servlet  
javax.servlet.Servlet  
javax.servlet.SingleThreadModel  
javax.servlet.GenericServlet  
javax.servlet.http.HttpServlet  
javax.servlet.ServletConfig  
Cu 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  
Lp trình vi Servlet API (t.t)  
Mc đí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ế hot động ca servlet  
z Web server nhn yêu cu triu gi servlet tclient.  
z Nếu servlet chy ln đầu, web server load file  
servlet tương ng, khi to các thông sbng  
qua method init()  
z Nếu servlet đã được khi to, to mt thread  
để xlý yêu cu.  
z Gi methods doXxx() để xlý các request tương ng  
theo giao thc 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  
Cu trúc đơn gin ca mt 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 dliu tclient  
//dùng đối tượng “response” để xut dliu cho client  
//dùng đối tượng out để ghi (method print) dliu 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  
Mt Servlet đơn gin  
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 12/05/2022 2440
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