Trường Đại Hoc BK Tp.HCM LẬP TRÌNH WEB CHẠY Ở SERVER CHƯƠNG V Baûn - Pdf 16

Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 1
Trường Đại Học Bách Khoa Tp.HCM
CHƯƠNG V
LẬP TRÌNH WEB CHẠY Ở
SERVER
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 2
Nộidung
z LậptrìnhWeb vớiCGI
z LậptrìnhWeb vớiServlet
z LậptrìnhWeb vớiJSP
z LậptrìnhWeb với ASP (???)
z LậptrìnhWeb vớiPHP (tự học)
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 3
Lập trình web vớiCGI
z Trang HTML chỉ chứacácnội dung cốđịnh hoặccó
thể thao tác thay đổi qua DHTML ở client.
z Nhu cầusử dụng các trang web như một ứng dụng
(giao tiếpvớ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ộtchuẩn
(standard) để viết ứng dụng web.
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 4
Lập trình web vớiCGI

Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 8
Lập trình web vớiCGI
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 $key (sort(keys %ENV)) {
print "VARIABLE $key = $ENV{$key}<br>\n";
}
print "</body></html>\n";
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 9
Lập trình web vớiCGI
z Các biếnmơitrường
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 10
Lập trình web vớiCGI
z Các biếnmơitrường
z Ví dụ
Để in ra địachỉ IP của máy khách:
print "IP Address = $ENV{'REMOTE_ADDR'}\n";
z Mộtsố các ví dụ cụ thể
– Dùng phương thứcGET: biếnmơitrường lưu ý là QUERY_STRING

– 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
server(
)
– />– …
z Tham khảo các tài liệuvề Servlet:
/>Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 14
Vòng đờicủa Servlet
Khơng tồntại
(Doses not exist)
Tạora
(Instantiated)
Sẳnsàngphụcvụ
request (Instaniated &
Ready)
Phụcvụ
(Service)
Khơng sẳn
sàng
Unavailable
Huỷ
(Destroyed)
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 15
Lậptrìnhvới Servlet API (t.t)
z Java Servlet API gồm:

Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 17
Lậptrìnhvới Servlet API (t.t)
Javax.servlet.http.Cookie
Java.servlet.http.HttpUtils
Kh
ác
Javax.servlet.RequestDispatcherServlet collaboration
Javax.servlet.ServletContextServlet context
Javax.servlet.http.HttpSession
Java.servlet.http.HttpSessionBindingListener
Session tracking
javax.servlet.ServletResponse
javax.servlet.http.HttpServletResponse
javax.servlet.ServletOutput
Responses
Class/InterfaceMục đích
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 18
Cơ chế hoạt động của servlet
z Web server nhậnucầutriệugọiservlettừ client.
z Nếu servlet chạylần đầu, web server load file
servlet tương ứng, khởitạo các thơng số bằng
qua method init()
z Nếu servlet đã đượckhởitạo, tạomột thread
để xử lý u cầu.
z Gọi methods doXxx() để xử lý các request tương ứng
theo giao thứcHTTP:
– doGet cho HTTP GET, doPost cho HTTP POST

}
}
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 21
Lập trình Web với Servlet
z API cho HttpServletRequest
1. Object getAttribute(String name)
2. void setAttribute(String name, Object att )
3. Enumeration getAttributeNames()
4. int getContentLength()
5. String getParameter(String name)
6. Enumeration getParameterNames()
7. Enumeration getParameterValues()
8. String getRemoteHost()
9. RequestDispatcher getRequestDispatcher( String path )
10. boolean isSecure()
11. ServletInputStream getServletInputStream()
12. int getContentLength()
13. …
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 22
Lập trình Web với Servlet
z Lấydữ liệutừ web client gởi đếnbằng servlet
– Dùng đốitượng của class HttpServletRequest
– Các methods để lấy thơng số:
z getParameter(“para-name”)
z getParameterValues(“para-name”)
String username=

z REQUEST_METHOD: getMethod()
z PATH_INFO: getPathInfo()
z SCRIPT_NAME: getServletPath()
z SERVER_NAME: getServerName()
z SERVER_PORT: getServerPort()
z HTTP_XXX_YYY: getHeader(“Xxx-Yyy”)
z …
-Vídụ : Request Info
Trường Đại Học Bách Khoa Tp.HCM
Bản quyền ®2005- Khoa Công Nghệ Thông Tin
Trang 25
Lập trình Web với Servlet
z API cho HttpServletResponse
1. String getCharaterEncoding()
2. ServletOutputStream getOutputStream()
3. PrintWriter getWriter()
4. setContentLength( int len )
5. setContentType( String type )
6. setBufferSize( int len )
7. int getBufferSize()
8. flushBuffer()
9. …


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status