Bài giảng Lập trình mạng - Lê Anh Tú
MỤC LỤC
Chương 1- Mở đầu . 4
1.1. Mạng máy tính và lịch sửphát triển . 4
1.2. Mô hình WWW (world wide web) và các dịch vụliên quan . 4
1.3. Thếnào là trang web tĩnh, trang web động . 4
1.4. Các bước phát triển của web . 5
1.5. Các công cụvà công nghệthiết kếweb . 5
Chương 2- Ngôn ngữ HTML . 6
2.1. Thẻ(tag) HTML là gì? . 6
2.2. Cấu trúc của một trang HTML . 6
2.3. Các thẻ định cấu trúc tài liệu . 6
2.4. Các thẻ định dạng . 7
2.5. Thẻtạo link (liên kết) . 8
2.6. Thẻtạo frame (khung) . 8
2.7. Thẻtạo Form . 9
2.8. Thẻtạo đối tượng FORM . 9
2.9. ThẻMarquee-tạo chữchạy . 11
2.10. Các thẻtạo bảng . 11
2.11. Một sốthẻMultimedia . 11
2.12. Bảng mã và tên gọi trong HTML của một sốký tự đặc biệt . 13
2.13. Thiết kếweb sửdụng Microsoft Frontpage . 13
2.13.1. Các thao tác chính khi soạn thảo một trang web . 13
2.13.2. Tạo các thành phần của trang web. 14
2.14. Bài tâp thực hành . 15
2.14.1. Tạo trang web cho nhóm. . 15
2.14.2. Tham khảo các site . 16
2.14.3. Thiết kếwebsitte theo các mẫu. 17
Chương 3- Ngôn ngữkịch bản Javascript . 22
3.1. Tổng quan vềJavaScript. 22
3.2. Nhúng JavaScript vào trang tài liệu HTML . 22
3.2.1. Sửdụng thẻ<SCRIPT> . 22
3.2.2. Sửdụng một file nguồn JavaScript . 23
3.2.3. Sửdụng thẻ<Noscript> . 23
3.3. Hiển thịdòng Text . 23
3.4. Giao tiếp với người sửdụng . 24
3.5. Khai báo biến . 25
3.6. Kiểu dữliệu . 25
3.6.1. Kiểu nguyên (INTERGER) . 25
3.6.2. Kiểu dấu phNy động (FLOATING POINT) . 25
3.6.3. Kiểu LOGIC (BOOLEAN) . 25
3.6.4. Kiểu chuỗi (STRING) . 25
3.7. Các toán tử. 26
3.8. Cấu trúc lệnh . 27
3.8.1. Câu lệnh rẽnhánh . 27
3.8.2. Câu lệnh lặp . 28
3.8.3. Câu lệnh break và continue . 29
3.9. Hàm . 29
3.9.1. Khai báo hàm . 29
3.9.2. Các hàm có sẵn . 29
3.10. Các lệnh thao tác trên đối tượng . 29
3.10.1. for in . 29
3.10.2. new . 30
3.10.3. this . 31
3.10.4. with . 31
3.11. Khai báo dữliệu kiểu mảng . 32
3.12. Xửlý sựkiện . 32
3.13. Các đối tượng trong Javascript . 36
3.13.1. Đối tượng navigator . 37
3.13.2. Đối tượng window . 38
3.13.3. Đối tượng location . 40
3.13.4. Đối tượng frame . 40
3.13.5. Đối tượng DOCUMENT . 43
3.13.6. Đối tượng anchors . 44
3.13.7. Đối tượng FORMS . 44
3.13.8. Đối tượng HISTORY . 45
3.13.9. Đối tượng LINKS . 46
3.13.10. Đối tượng MATH . 46
3.13.11. Đối tượng DATE . 47
3.13.12. Đối tượng STRING . 48
3.13.13. Xem lại các lệnh và mởrộng . 49
3.14. Mô hình đối tượng (OBJECT MODEL) . 51
3.14.1. Đối tượng và thuộc tính . 51
3.14.2. Tạo các đối tượng mới . 52
3.15. Bài tập thực hành . 57
3.15.1. Bài Tập 1 . 57
3.15.2. Bài tập 2 . 57
3.15.3. Bài tập 3 . 57
3.15.4. Bài tập 4 . 58
3.15.5. Bài tập 5 . 59
3.15.6. Bài tập 6 . 60
3.15.7. Bài tập 7 . 62
3.15.8. Bài tập 8 . 63
3.15.9. Bài tập 9 . 64
3.15.10. Bài tập 10 . 65
3.15.11. Bài tập 11 . 66
3.15.12. Bài tập 12 . 67
3.15.13. Bài tập 13 . 69
3.15.14. Bài tập 15 . 70
3.15.15. Bài tập 15 . 70
3.15.16. Bài tập 16 . 71
3.15.17. Bài tập 17 . 72
3.15.18. Bài tập 18 . 72
Chương 4- Lập trình web động với ASP (Active Server Page) . 75
4.1. Giới thiệu ngôn ngữlập trình web động ASP . 75
4.2. Web Server IIS . 76
4.3. Cài đặt và chạy ứng dụng ASP đầu tiên . 79
4.3.1. Cấu hình cho Website trên IIS . 80
4.3.2 Viết các file ASP . 81
4.3.3 Dùng trình duyệt truy cập website . 81
4.4. Tóm tắt các cú pháp VBScript . 84
4.4.1. Response.write . 85
4.4.2. Biến . 85
4.4.3. Mảng . 85
Bài giảng môn học: Lập trình mạng
GV: Lê Anh Tú - Bộmôn Mạng & Truyền thông - Khoa CNTT - ĐHTN 3
4.4.4. Ghép chuỗi . 85
4.4.5. Hàm có sẵn . 86
4.4.6. Rẽnhánh . 88
4.4.7. Lặp . 88
4.4.8. Điều kiện and ,or, not . 89
4.4.9. Thủtục và hàm người dùng . 89
4.4.10. Sửdụng #include . 91
4.5. Các đối tượng căn bản . 91
4.5.1. Đối tượng Request . 91
4.5.2. Response . 93
4.5.3. Đối tượng Session . 93
4.5.4. Đối tượng Application . 94
4.5.5. File Global.asa .95
4.5.6. Đối tượng Dictionary . 96
4.5.7. Đối tượng Server . 96
4.5.7.1. Server.CreateObject . 96
4.5.7.2. Server.Mappath . 97
4.6. Sửdụng Database với ASP . 97
4.6.1. Các cú pháp căn bản đểtruy xuất dữliệu từDB . 97
4.6.2. Đối tượng Connection . 97
4.6.3. Đối tượng Recordset . 98
4.6.4. Tìm kiếm dữliệu trong database . 101
PHỤLỤC . 102
Phụlục 1: Bài tập truy nhập các điều khiển trên Form . 102
Phụlục 2: Thiết kếform đăng nhập cho phép lưu lại tên tài khoản và mật khNu . 104
Phụlục 3: Hiển thị ảnh quảng cáo và sốlượt truy cập . 107
Phụlục 4: Bài tập ADO, Phân trang với Recordset . 108
cessful ! Do you want <% 'N han Logout de huy Cookies if request.form("cmdLogout")"" then response.cookies("Acc")("user")="" response.cookies("Acc")("pass")="" 'Khong dung` Expires thi Cookies se bi huy 'ngay sau khi dong IE hien hanh` response.redirect("Login1.asp") end if %> 2. Nâng cấp chương trình: Yêu cầu kiểm tra tài khoản đang nhập có tồn tại trong CSDL không. Làm theo các bước sau: (1) Tạo CSDL HOSO.MDB và bảng Account(ID(Autonumber), User(Text), Pass(Text)) (2) Viết file Connection.inc kết nối tới CSDL Connection.inc <% Set Conn=Server.CreateObject("ADODB.Connection") FilePath= Server.Mappath("Hoso.mdb") StrConn="Provider=Microsoft.Jet.OLEDB.4.0; Data source=" & FilePath Conn.Open StrConn Set RS=Server.CreateObject("ADODB.Recordset") %> (3) Chèn đoạn mã sau đây vào trước thẻ trong file Login.asp <% ID=request.cookies("Acc")("user") PWD=request.cookies("Acc")("Pass") 'Mo bang du lieu Account va chon ra dung TK da luu trong Cookies StrSQL="Select * from Account Where (User='" & ID & "')AN D(Pass='" & PWD & "')" RS.Open StrSQL,Conn %> (4) Sửa lại dòng gạch chân sau thẻ như sau: <% 'Kiem tra neu da co Cookies thi dang nhap luon vao trang Home.asp If not rs.eof then response.redirect("Home.asp") else 'N eu chua co Cookies thi cho hien giao dien dang nhap %> Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 107 ************************************************** Phụ lục 3: Hiển thị ảnh quảng cáo và số lượt truy cập Yêu cầu cho phép: - Đếm số lượt người đã truy cập - Hiển thị ảnh quảng cáo ngẫu nhiên Yêu cầu: Sử dụng file Global.asa (Ghi chú: Chuẩn bị sẵn 3 ảnh: 1.gif, 2.gif, 3.gif) File Global.asa <OBJECT ID="Dem" RUNAT="Server" SCOPE="Application" PROGID="MSWC.Counters"> <OBJECT ID="Pic" RUNAT="Server" SCOPE="Application" PROGID="MSWC.Adrotator"> File Quangcao.asp <% response.write "So luot ttruy cap website la:" %> <% dem.Increment("k") response.write dem.get("k") %> <% =pic.GetAdvertisement("quangcao.txt") ‘noi dung file quangcao.txt nhu tren %> File Quangcao.txt REDIRECT /login.asp WIDTH 300 HEIGHT 300 BORDER 1 * 1.gif Trang chu Viet Nam 60 2.gif Ma nguon VB 40 3.gif Trang tin tuc 20 Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 108 Phụ lục 4: Bài tập ADO, Phân trang với Recordset 1. Tạo CSDL HOSO.MDB và thiết kế các bảng dữ liệu có cấu trúc như sau: Tạo quan hệ giữa 2 bảng như sau: 2. Thiết kế trang DEFAULT.ASP cho phép hiển thị các thông tin về sinh viên như sau: Chú ý: - Sử dụng kỹ thuật phân trang - Các chức năng ADD, EDIT, DELETE để thực hiên các chức năng thêm mới, sửa, xóa các bản ghi - Nhấn vào Mã SV cho phép liên kết đến trang xem tổng hợp thông tin cá nhân về SV đó (Ví dụ: Profile.asp) Bảng Sinhvien Bảng Tinh Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 109 3. Yêu cầu thiết giao diện các trang thêm mới và sửa như sau: - Giao diện cập nhật SV mới - Giao diện thay đổi thông tin cá nhân 1 SV đã nhập MÃ NGUỒN MẦU File Connection.inc <% FilePath=Server.Mappath("Hoso.mdb") Set Conn=Server.CreateObject("ADODB.COnnection") StrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath Conn.Open strConn Set RS=Server.CreateObject("ADODB.Recordset") %> File Default.asp <% 'Su dung Query trong Access de tao xau truy van nhu duoi day StrSQL="SELECT SinhVien.*, [Tinh].[Tentinh] FROM Tinh INNER JOIN SinhVien ON [Tinh].[MaTinh]=[SinhVien].[MaTinh];" 'Dat thuoc tinh cho RS co kha nang phan trang RS.CursorLocation=3 RS.Pagesize=3 RS.Open StrSQL,Conn,0,1 'Xac dinh trang hien thoi Session("CurrenPage")=1 If request("PageID")"" then Session("CurrenPage")=Cint(request("PageID")) End if If not(RS.eof or RS.bof) then RS.Absolutepage=Session("CurrenPage") End if %> Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 110 Phân trang với RS DANH SACH SINH VIEN Page of STT Sửa Xóa Mã SV Họ và tên Giới tính Tuổi Ngày vào đoàn Tên Tỉnh Sở thích <% i=RS.Pagesize*(Session("CurrenPage")-1) While not RS.eof and RS.AbsolutePage=Session("CurrenPage") i=i+1 %> checked name="RdoSua"> > > <% If RS.Fields("Gioitinh") then Response.Write("Nam") Else Response.Write("Nu") End if %> <% RS.MoveNext Wend %> <%If Session("CurrenPage")=1 then Response.write("Back") Else%> Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 111 >Back <% k1=Session("CurrenPage")-1 k2=Session("CurrenPage")+1 If k1<1 then k1=1 If k2>RS.PageCount then k2=RS.PageCount For i=k1 to k2 Response.write (" ") If i=Session("CurrenPage") then Response.write(i) Else%> > <%End if Next %> <%If Session("CurrenPage")=RS.PageCount then Response.write("Next") Else%> >Next <%End if RS.Close %> File Xuly_Default.asp <% if request.form("cmdAdd")"" then response.redirect("Them.asp") end if if request.form("cmdEdit")"" then session("MaSV")=request.form("rdoSua") response.redirect("Sua.asp") end if if request.form("cmdDelete")"" then %> <% end if %> File Them.asp <% StrSQL="Select * from Tinh Order By Tentinh" RS.Open StrSQL,Conn %> Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 112 Thêm mới SV CẬP NHẬT SINH VIÊN Mã SV HỌ và tên Giới tính Nam Nữ Tuổi Ngày vào đoàn selected value=> selected value=> > Tỉnh <% While not Rs.eof %> > <% RS.MoveNext Wend RS.Close %> Sở thích Du lịch Thể thao Xem TV Ca nhạc Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 113 File Xuly_them.asp <% StrSQL="Select * from Sinhvien" RS.Open StrSQL,Conn,1,3 RS.AddNew RS.Fields("MaSV")=request.form("txtMaSV") RS.Fields("Hoten")=request.form("txtHoten") RS.Fields("MaSV")=request.form("txtMaSV") If Request.form("rdoGT")="Nam" then RS.Fields("Gioitinh")=True else RS.Fields("Gioitinh")=False End if RS.Fields("Tuoi")=request.form("txtTuoi") ND=request.form("optThang")&"/"&request.form("optNgay")&"/"&request.form("optNam") RS.Fields("NgayDoan")=Cdate(ND) RS.Fields("Matinh")=request.form("optTinh") RS.Fields("Sothich")=request.form("chkST") RS.Update RS.Close response.redirect("Default.asp") %> File Sua.asp <% StrSQL="Select * from Tinh Order By Tentinh" RS.Open StrSQL,Conn StrSQL1="Select * from Sinhvien Where MaSV='" & session("MaSV") & "'" Set RS1=Server.CreateObject("ADODB.Recordset") RS1.Open StrSQL1,Conn %> Sửa thông tin SV SUA THÔNG TIN SINH VIÊN Mã SV Họ và tên > Giới tính checked name="rdoGT">Nam Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 114 checked value="Nu">Nữ Tuổi > Ngày vào đoàn selected value=> selected value=> selected value=> Tỉnh <% While not Rs.eof %> Selected value=> <% RS.MoveNext Wend %> Sở thích <input type="checkbox" name="chkST" value="Du lich" <%if instr(Ucase(rs1.fields("Sothich")),ucase("Du lich"))>0 then%> checked >Du lịch <input type="checkbox" name="chkST" value="The thao" <%if instr(Ucase(rs1.fields("Sothich")),ucase("The thao"))>0 then%> checked >Thể thao <input type="checkbox" name="chkST" value="Xem TV" <%if instr(ucase(rs1.fields("Sothich")),ucase("Xem TV"))>0 then%> checked >Xem TV <input type="checkbox" name="chkST" value="Ca nhac" <%if instr(ucase(rs1.fields("Sothich")),ucase("Ca nhac"))>0 then%> checked >Ca nhạc Bài giảng môn học: Lập trình mạng GV: Lê Anh Tú - Bộ môn Mạng & Truyền thông - Khoa CNTT - ĐHTN 115 <% rs.Close rs1.Close %> File Xuly_sua.asp <% StrSQL="Select * from Sinhvien Where MaSV='" & session("MaSV") & "'" RS.Open StrSQL,Conn,1,3 RS.Fields("Hoten")=request.form("txtHoten") If Request.form("rdoGT")="Nam" then RS.Fields("Gioitinh")=True else RS.Fields("Gioitinh")=False End if RS.Fields("Tuoi")=request.form("txtTuoi") ND=request.form("optThang")&"/"&request.form("optNgay")&"/"&request.form("optNam") RS.Fields("NgayDoan")=Cdate(ND) RS.Fields("Matinh")=request.form("optTinh") RS.Fields("Sothich")=request.form("chkST") RS.Update RS.Close response.redirect("Default.asp") %> File Xoa.asp <% For i=1 to request.form("chkXoa").Count If request.form("chkXoa")(i)"" then StrSQL="Select * from SinhVien Where MaSV='" & request.form("chkXoa")(i) & "'" RS.Open StrSQL,Conn,1,3 RS.Delete RS.Close end if next Response.redirect("Default.asp") %> File Profile.asp <% StrSQL="SELECT SinhVien.*, Tinh.* FROM Tinh INNER JOIN SinhVien ON [Tinh].[MaTinh]=[SinhVien].[MaTinh] WHERE MaSV=' " & request("MaSV_ID") & " ' “ RS.Open StrSQL,Conn Response.write "Mã SV: " & RS.fields("MaSV") & "" Response.write "Họ tên: " & RS.fields("Hoten") & "" Response.write "Giới tính: " If rs.fields("Gioitinh") then Response.write "Nam" & "" else Response.write "Nữ" & "" end if Response.write "Tuổi: " & RS.fields("Tuoi") & "" Response.write "Ngày vào đoàn: " & RS.fields("Ngaydoan") & "" Response.write "Tỉnh/Tp: " & RS.fields("Tentinh") & "" Response.write "Sở thích: " & RS.fields("Sothich") & "" %> Quay lại
File đính kèm:
- Bài giảng Lập trình mạng - Lê Anh Tú.pdf