Tài liệu Bài giảng Lập trình ứng dụng Web - Chương 6: Lập trình Web với các công nghệ phổ biến - Trường Cao đẳng Cao Thắng: CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN 6.1 Giới thiệu Servlet/JSP6.2 Lập trình web với Servlet6.3 Lập trình web với JSP6.4 Giới thiệu ASP6.5 Lập trình web với ASP1Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPServlet là một ứng dụng (class) Java chạy trên nền web server.Cơ chế hoạt động theo mô hình CGI mở rộng.Chương trình phải được dịch ra ở dạng byte-code(.class), khai báo với web server. Web server phải hỗ trợ Java.Phải extends class HttpServlet. Không có method main.2Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPCần có package servlet.jar để biên dịch (ác server hiện hỗ trợ Servlet:Apache Tomcat (’s Java Web Server, free, hiện không cho download ( Atlanta’s ServletExec, tích hợp ServletEngine vào các web server(Tham khảo các tài liệu về Servlet:ập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPCấ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(HttpServletR...
49 trang |
Chia sẻ: quangot475 | Lượt xem: 569 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Lập trình ứng dụng Web - Chương 6: Lập trình Web với các công nghệ phổ biến - Trường Cao đẳng Cao Thắng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN 6.1 Giới thiệu Servlet/JSP6.2 Lập trình web với Servlet6.3 Lập trình web với JSP6.4 Giới thiệu ASP6.5 Lập trình web với ASP1Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPServlet là một ứng dụng (class) Java chạy trên nền web server.Cơ chế hoạt động theo mô hình CGI mở rộng.Chương trình phải được dịch ra ở dạng byte-code(.class), khai báo với web server. Web server phải hỗ trợ Java.Phải extends class HttpServlet. Không có method main.2Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPCần có package servlet.jar để biên dịch (ác server hiện hỗ trợ Servlet:Apache Tomcat (’s Java Web Server, free, hiện không cho download ( Atlanta’s ServletExec, tích hợp ServletEngine vào các web server(Tham khảo các tài liệu về Servlet:ập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPCấ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 //đố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 }}4Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPBiên dịch như một class Java.File *.class dịch được phải đặt vào đúng thư mục quy định sẵn của web server.Tomcat: $/webpages/WEB-INF/classesJWS: $/servletsCấu hình cho web server đối với mỗi servlet:Tomcat: hiệu chỉnh file web.xml trong thư mục $/webpages/WEB-INF theo DTD Cấu hình bằng web-based tool được cung cấp.5Lập trình mạng – Chương 66.1 Giới thiệu Servlet/JSPCơ chế hoạt động của một servlet:Web server nhận yêu cầu triệu gọi servlet từ client.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() Nếu servlet đã được khởi tạo, tạo một thread để xử lý yêu cầu.Gọi methods doXxx() để xử lý các request tương ứng theo giao thức HTTP.doGet(..) cho HTTP GET, doPost cho HTTP POST6Lập trình mạng – Chương 66.2 Lập trình web với ServletLấy dữ liệu từ web client gởi đến bằng servlet: Dùng đối tượng của class HttpServletRequest Các methods để lấy thông số:getParameter(“para-name”)getParameterValues(“para-name”)String username= request.getParameter(“username”);String[] choice = request.getParameterValues(“comments”);Dùng đối tượng của class HttpServletRequest để lấy các thông tin HTTP header 7Lập trình mạng – Chương 66.2 Lập trình web với ServletVí dụ lấy tất cả các thông số từ clientEnumeration parameter_names = request.getParameterNames();while(parameter_names.hasMoreElements()){ String para = parameter_names.nextElement(); out.print(para + “ = ”); String[] paraValues = getParameterValues(para); if(paraValues.lenght()==1){ out.println(paraValues[0]); }else{ for(int i = 0, iGiá trị biểu thức: Khai báo các biến Java code Chú thích Các khai báo chỉ thị (derective):23Lập trình mạng – Chương 66.3 Lập trình web với JSPVí dụ trang JSP Request Information JSP Request Method: request.getMethod() Request URI: request.getRequestURI() Request Protocol: request.getProtocol() Servlet path: request.getServletPath() Path info: request.getPathInfo() Path translated: 24Lập trình mạng – Chương 66.3 Lập trình web với JSPCác đối tượng được xây dựng sẵn trong một trang JSP:request: đối tượng class HttpServletRequestresponse: đối tượng class HttpServletResponseout: đối tượng class PrintWritersession: đối tượng class HttpSession tạo ra từ method getSession() của đối tượng requestapplication: đối tượng class ServletContextconfig: đối tượng class ServletConfig25Lập trình mạng – Chương 66.4 Giới thiệu ASPASP là một trang HTML có chứa các mã script (VBScript hay JavaScript). Các script này có thể:Lấy thông tin từ user.Sinh nội dung động.Thao tác với database.Trang ASP được chạy trên web-server hỗ trợ (server-side) 26Lập trình mạng – Chương 66.4 Giới thiệu ASPCác công cụ:Soạn thảo :Có thể dùng trình soạn thảo văn bản text bất kỳ.Các công cụ trực quan : Ms. Visual InterDev, Ms. FrontPage, Macromedia DreamweaverWeb server:Win9x : Personal Web ServerWin NT/2000 : Internet Information Services.Chili!Soft : (UNIX support)HalcyonSoft : trình mạng – Chương 66.4 Giới thiệu ASPThêm script xử lý vào trang ASP:Đặt mã trong cặp dấu : Ví dụ : Dùng tag SCRIPT : .Ví dụ : REM Hello World 28Lập trình mạng – Chương 66.5 Lập trình web với ASPĐối tượng xử lý request sẵn có của ASP: Request. Lấy thông tin người dùng nhập từ Form:Request.Form(“field_name”)Request.Form(index)Một số field đặc biệt : checkbox, ratio, các field cùng tên29Lập trình mạng – Chương 66.5 Lập trình web với ASPĐối tượng xử lý response sẵn có của ASP: ResponseCác phương thức chính:Reponse.Write(“String”)Reponse.Redirect(“URL”)30Lập trình mạng – Chương 66.5 Lập trình web với ASPĐối tượng Application:Quản lý thông tin về ứng dụng. Có thể dùng để lưu trữ dữ liệu, đối tượng.Đối tượng Session:Quản lý thông tin về phiên làm việc(session), có thể lưu dữ liệu, đối tượng của một sessionĐố tượng Server:Đặt các thuộc tính, tạo đối tượng mới31Lập trình mạng – Chương 66.5 Lập trình web với ASPThao tác database: có thể dùng ADO để thao tác.Ví dụ về đọc dữ liệu từ databaseDim objRecordsetSet objRecordset = Server.CreateObject(“ADODB.Recordset”)objRecordset.Open “table-name”, “DSN=dsn”Do While NOT objRecordset.EOF Response.Write objRecordset(“field-name”) objRecordset.MoveNextLoop32Lập trình mạng – Chương 66.5 Lập trình web với ASPĐọc dữ liệu bằng câu lệnh SQL:strSQL = “Select * FROM table WHERE .”objRecordset.Open strSQL, “DSN=dsn”Dùng in dữ liệu theo dạng bảng, danh sách, listboxCó thể dùng cách này để hiện thực việc tìm kiếm.33Lập trình mạng – Chương 66.5 Lập trình web với ASPThêm mới record: Set obj-Recordset-name = Server.CreateObject(“ADODB.Recordset”)objRecordset-name.Open “table-name”, “DSN=dsn”, _ adOpenDynamic, adLockOptimisticobj-Recordset-name.AddNew obj-Recordset-name.Fields(“field-name”) = obj-Recordset-name.Update ‘. obj-Recordset-name.Close34Lập trình mạng – Chương 66.5 Lập trình web với ASPCập nhật thông tin trong record:strSQLUpdate = “UPDATE table SET field1=, field2= WHERE ”objRecordset. Excute strSQLUpdate35Lập trình mạng – Chương 6LẬP TRÌNH WEB VỚI PHPGiới thiệu về PHPTruy cập biến formQuản lý session, cookieTruy xuất cơ sở dữ liệuMột số chức năng khác (tham khảo)36Lập trình mạng – Chương 6Giới thiệu về PHPLà một ngôn ngữ lập trình ứng dụng webMã lệnh PHP được nhúng vào trang HTML tương tự JSP hay ASPHoạt động theo cơ chế thông dịch với PHP engine tích hợp vào web server. PHP engine hiện tại được hỗ trợ trên nhiều loại web server (trên các hệ điều hành khác nhau) => PHP có tính portable caoCác web server phổ biến có thể cài đặt PHP engine: IIS, Apache. Apache và PHP thường có sẵn trong Linux37Lập trình mạng – Chương 6Giới thiệu về PHPCài đặt PHP trên WindowsCài đặt PHP lên máy, có thể download từ: Cấu hình một số thông số cần thiết trong file $Windows/php.ini:error_log = {filename}post_max_size = 8Mfile_uploads = {On|Off}upload_tmp_dir = {directory}session.save_path = {directory}session.auto_start = {0|1}38Lập trình mạng – Chương 6Giới thiệu về PHPCấu hình PHP trên IISChọn Properties của web siteCấu hình tương tự hình bên39Lập trình mạng – Chương 6Giới thiệu về PHPVí dụ một trang PHP đơn giản PHP Hello World!40Lập trình mạng – Chương 6Giới thiệu về PHPCú pháp PHP tương tự C và JavaĐược viết chèn vào mã HTML theo các dạng: /* commands */ Tên biến trong PHP được đặt sau dấu $41Lập trình mạng – Chương 6Truy xuất biến FormDùng chính tên biến đã đặt cho FORM, ví dụ file doLogin.php: From login.html "; echo " Username:$Username". ""; ?>42Lập trình mạng – Chương 6Xây dựng hàm và sử dụng lại mãChèn một trang khác vào PHP:require(filename);Sử dụng lại mã:include(filename);Có thể viết hàm trong trang PHP như khái niệm của lập trình cấu trúc function check($user, $pass, &$result) { #các lệnh thực thi hoặc gọi các hàm khác } check($username,$password,$result); if($result==1){ /*..*/ }43Lập trình mạng – Chương 6Xây dựng hàm và sử dụng lại mãCó thể viết mã PHP theo lập trình hướng đối tượng class classname{ //[var $atrr]*; function fucn_name([parameter]){ // } } $object = new classname(); &object->attr; &object->fucn_name([parameter]);44Lập trình mạng – Chương 6Quản lý session và cookieGán giá các giá trị cookie:setcookie(“cookie_name”, value);Bằng sesion: session_set_cookie_params($var);Lấy giá trị cookie:$cookie_value= $HTTP_COOKIE_VARS[“cookie_name”]Bằng session: $var = session_get_cookie_params(); 45Lập trình mạng – Chương 6Quản lý session và cookieLưu trữ biến vào sesion: session_start(); //ref php.ini $var = value; session_register($var);Sử dụng biến trong session: biến sau khi đã lưu trữ vào session thì có thể sử dụng như một biến dữ liệu bình thường trong web site 46Lập trình mạng – Chương 6Quản lý session và cookieKiểm tra một session đã đăng ký chưa:session_is_registered(“var”);Ex: if (session_is_registered(“Login”)) { } else{ }Xoá một biến đã được lưu trong session: session_unregister(“var”);47Lập trình mạng – Chương 6Truy xuất cơ sở dữ liệuPHP cung cấp các hàm truy xuất database khác nhau cho mỗi hệ quản trị cơ sở dữ liệu khác nhauThao tác với hệ DBMS MySQL:Tạo kết nối: $db = mysql_connect(“server”,”user”,”pass”); if(!$db) { //error }Chọn database: mysql_select_db(“database”); mysql_select_db(“database”,$conn_var);48Lập trình mạng – Chương 6Thao tác với hệ DBMS MySQLThực thi câu truy vấn: int mysql_query(string sql,[db_connect]); int mysql_query(string database, string sql, [db_connect]); $result = mysql_query($sql); if(mysql_num_rows($result)!=0){ while($row=mysql_fetch_array($result)) { $fieldname = $row[“fieldname”]; } }Đóng kết nối: mysql_close($conn_var);49Lập trình mạng – Chương 6
Các file đính kèm theo tài liệu này:
- chuong_06_1751_2138519.ppt