phÁt triỂn Ứng dỤng web · bộ môn mạng và truyền thông máy tính ... khi có yêu...
TRANSCRIPT
Lê Đình ThanhBộ môn Mạng và Truyền thông Máy tính
Khoa Công nghệ Thông tinTrường Đại học Công nghệ, ĐHQGHN
E-mail: [email protected], [email protected]: 0987.257.504
Bài giảng
PHÁT TRIỂN ỨNG DỤNG WEB
Nội dung
• Kiến trúc của ứng dụng Web động• ASP• Kết nối dữ liệu bằng ADO• Tạo dự án web động với ASP
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Web động
• Nội dung trang web (HTML + CSS + JavaScript) được Web Server sinh ra khi có yêu cầu từ Client.
• Rất phổ dụng: Hầu hết các trang web thương mại đều là web động.
• Sử dụng ngôn ngữ lập trình đa năng để sinh ra nội dung web.
• Sử dụng CSDL.
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Web động với CSDL
WebServer
WebBrowser
Database Provider
http://www....
Yêu cầu dữ liệu
Thao tác CSDLDữ liệu
Dữ liệu
Nội dung (HTML)
CSDL
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Web Server
• Nhận yêu cầu từ client.– Đối tượng nhận yêu cầu: Request
• Sinh nội dung web (HTML, javascript, css) và gửi cho web client
– Đối tượng Response
• Lưu trạng thái phiên làm việc– Đối tượng lưu các biến phiên: Session
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP
• ASP là một công nghệ phát triển web động được phát triển bởi Microsoft, hiện nay còn được sử dụng rộng rãi.
• Ưu điểm của ASP là đơn giản, dễ nắm bắt, dễ sử dụng
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Đặc điểm
• Các trang có tên mở rộng *.asp• Mã ASP tựa VB, được nhúng trong các
trang HTML và được trình thông dịch ASP (asp.dll) thông dịch
• Phần mã ASP được nhúng trong trang HTML được thực thi để sinh ra phần động của trang web.
• Mã ASP được nhúng trong HTML được để trong cặp thẻ <% và %>
• Để in ra một giá trị ta để giá trị giữa cặp thẻ <%= và %>.
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Đặc điểm
• Dữ liệu không định kiểu• Mỗi câu lệnh được viết trên 1 dòng,
không có dấu chấm câu• Có đầy đủ các cấu trúc điều khiển:
tuần tự, lặp, rẽ nhánh
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Rẽ nhánh if …then
If dieukien thenCac lenh
End if
If dieukien thenCac lenh
ElseCac lenh khac
End if
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Rẽ nhánh select case
Select case bieuthucCase giatri1
Cac lenh 1
Case giatri2Cac lenh 2
…Case giatri n
Cac lenh n
End select
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Câu lệnh lặp for
For dk = giatri1 to giatri2Cac lenh
Next
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Đối tượng Response
• Response là đối tượng được định nghĩa trước trong mỗi trang ASP, được sử dụng để sinh ra đáp ứng
• Hai phương thức quan trọng nhất của đối tượng Response là:
– Viết ra nội dung trang HTML: Response.Write(object)
– Chuyển sang một trang khác: Response.Redirect(url)
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Đối tượng Response –Ví dụ
• Response.Write(“<h1>Xin chao</h1>”); sẽ in ra HTML một đề mục cấp 1 có nội dung “Xin chao”
• a = 200;• Response.Write(a); sẽ in ra HTML văn bản có
nội dung “200”
• Response.Redirect(“Bantin.asp?cid=10&id=123”); sẽ chuyển trình duyệt sang trang Bantin.asp và truyền hai tham số có tên là cid, id cùng giá trị các tham số tương ứng là 10 và 123.
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ASP – Đối tượng Request
• Request là đối tượng được định nghĩa trước trong mỗi trang ASP, được sử dụng để nhận yêu cầu của người dùng
• Để nhận giá trị một tham số từ yêu cầu
giatri = Request(“tenThamso”)
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Request –Nhận giá trị tham số (1)
• Giả sử các tham số được truyền cùng URL là
• http://uet.vnu.edu.vn/News.asp?cid=10&id=123• Trong News.asp, chúng ta sử dụng
các câu lệnh sau để lấy giá trị cid và idcid = Request(“cid”)id = Request(“id”)
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
Request –Nhận giá trị tham số (2)• Giả sử các tham số trên form thuộc trang
Nhap.asp được truyền cùng URL theo phương thức POST là
• <form action = “Kiemtra.asp”>– <input type = “text” name = “hoten” width =
“200”>– <input type = submit value = “Chap nhan”>
• <form>
• Lấy họ tên do người dùng nhập (trong Kiemtra.aspx.cs)
sHoten = Request(“hoten”)
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ADO – ActiveX Data Object
• ADO là công nghệ truy cập CSDL đơn giản, cho phép truy cập nhiều nguồn CSDL khác nhau.
• Đối tượng ADODB.Connection được sử dụng để kết nối CSDL và thực thi các lệnh cập nhật (insert, delete, update)
• Đối tượng ADODB.Recordset được sử dụng để thực thi lệnh truy vấn (select) và lưu và duyệt kết quả truy vấn.
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ADO – Kết nối CSDL
Xác định chuỗi kết nốiVới CSDL Access
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Server.MapPath(“DL1.mdb")
Với CSDL SQL Serverstrcon = "Provider=SQLOLEDB.1; Persist Security
Info=True;User ID=sa; Password=sa;Initial Catalog=CSDL; Data Source=SERVER;“
Tạo và mở kết nốiSet conn =
Server.CreateObject("ADODB.Connection")conn.Open strcon
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ADO – Cập nhật CSDL
sql= câu lệnh cập nhật (insert, update, delete)
conn.execute sql
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ADO – Truy vấn CSDL
Tạo và mở recordset
set rs = server.CreateObject("ADODB.Recordset")
sql = "select …”
rs.open sql, connDuyệt các bản ghi để đọc giá trị
do while not rs.eof
gt1 = rs(“thuoctinh1")
gt2 = rs(“thuoctinh2")
…..
rs.movenext
loopĐóng và hủy recordset khi đã hoàn thành truy vấn và lấy giá trị
rs.close
set rs =nothing
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
ADO – Sử dụng lại với bao hàm tệp
Tạo một tệp sẽ được sử dụng như thư viện, ví dụ DBConnection.asp
Strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Server.MapPath("Data\ducminh.mdb")
if isobject(conn) then
if conn.state = 0 then
conn.Open strcon
end if
else
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strcon
end if
Các tệp khác bao hàm tệp này để sử dụng lại, tránh phải viết nhiều lần, sửa sai nhiều lần<!--#INCLUDE FILE="DBConnection.asp"-->
Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.