Bài giảng môn Lập trình mạng – Chương 5a: Lập trình Web chạy ở server
lượt xem 6
download
Bài giảng môn Lập trình mạng – Chương 5a: Lập trình Web chạy ở server. Những nội dung chính trong chương gồm có: Lập trình Web với CGI, lập trình Web với Servlet, lập trình Web với JSP, lập trình Web với ASP, lập trình Web với PHP. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn Lập trình mạng – Chương 5a: Lập trình Web chạy ở server
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 với 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 "HELLO!"; print "\n"; print "Hello!\n"; foreach $key (sort(keys %ENV)) { print "VARIABLE $key = $ENV{$key}\n"; } print "\n"; Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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ương thức GET: biến môi trường lưu ý 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 – http://inconnu.isu.edu/~ink/perl_cgi/ – http://www.bewley.net/perl/ – http://jan.netcomp.monash.edu.au/ecommerce/perl_sessio n.html Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 (http://java.sun.com/products/servlet/) 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 (http://wwws.sun.com/software/jwebserver/) – New Atlanta’s ServletExec, tích hợp ServletEngine vào các web server(http://newatlanta.com) – http://www.macromedia.com/software/jrun/trial/ – … z Tham khảo các tài liệu về Servlet: http://java.sun.com/products/servlet/docs.html Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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ẳn sàng phục vụ sàng request (Instaniated & Unavailable Ready) Huỷ Phục vụ (Destroyed) (Service) Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Cấu hình sevlet javax.servlet.ServletConfig Servlet Exception javax.servlet.ServletException Requests javax.servlet.ServletRequest javax.servlet.http.HttpServletRequest javax.servlet.ServletInputStream Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Java.servlet.http.HttpSessionBindingListener Servlet context Javax.servlet.ServletContext Servlet collaboration Javax.servlet.RequestDispatcher Khác Javax.servlet.http.Cookie Java.servlet.http.HttpUtils Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 doGet(HttpServletRequest request, 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 PrintWriter out = response.getWriter(); //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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("Hello World"); } } Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin Trang 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn Lập trình mạng: Chương 1 - TS. Nguyễn Văn Hiệp
25 p | 107 | 18
-
Bài giảng môn Lập trình mạng: Chương 3 - TS. Nguyễn Văn Hiệp
55 p | 96 | 13
-
Bài giảng Lập trình mạng: Ôn tập thi hết môn Lập trình mạng - Phạm Trần Vũ
17 p | 121 | 11
-
Bài giảng môn Lập trình mạng: Chương 10 - TS. Nguyễn Văn Hiệp
57 p | 110 | 11
-
Bài giảng môn Lập trình mạng: Chương 7 - TS. Nguyễn Văn Hiệp
58 p | 92 | 11
-
Bài giảng môn Lập trình mạng: Chương 2 - TS. Nguyễn Văn Hiệp
50 p | 74 | 10
-
Bài giảng môn Lập trình mạng: Chương 5 - TS. Nguyễn Văn Hiệp
75 p | 75 | 9
-
Bài giảng môn Lập trình mạng: Chương 8 - TS. Nguyễn Văn Hiệp
60 p | 85 | 9
-
Bài giảng môn Lập trình mạng: Chương 9 - TS. Nguyễn Văn Hiệp
19 p | 76 | 8
-
Bài giảng môn Lập trình mạng: Chương 6 - TS. Nguyễn Văn Hiệp
21 p | 94 | 8
-
Bài giảng môn Lập trình mạng: Chương 4 - TS. Nguyễn Văn Hiệp
14 p | 79 | 8
-
Bài giảng môn Lập trình hướng đối tượng - Chương 5: Tập hợp trên Java
40 p | 85 | 7
-
Bài giảng môn Lập trình mạng – Chương 5b: Lập trình Web chạy ở server (tt)
22 p | 27 | 7
-
Bài giảng môn Lập trình mạng – Chương 4: DHMTL và lập trình Web chạy ở client
17 p | 36 | 6
-
Bài giảng môn Lập trình mạng – Chương 0: Khái quát về mạng máy tính, TCP/IP
69 p | 47 | 5
-
Bài giảng môn Lập trình mạng – Chương 1: Lập trình mạng dùng socket
35 p | 28 | 5
-
Bài giảng môn Lập trình mạng – Chương 2&3: Lập trình MiniChat
10 p | 26 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn