You are on page 1of 35

TRƯỜ

TRƯỜNG ĐẠ
ĐẠI HỌ
HỌC SƯ PHẠ
PHẠM KỸ
KỸ THUẬ
THUẬT NAM ĐỊ
ĐỊNH
KHOA CÔNG NGHỆ THÔNG TIN

Giáo viên: Nguyễn Minh Đức


Bộ môn: Mạng máy tính
Giới thiệu

Haõng Microsoft saùng taïo ra phaàn meàm Active


server Pages (ASP) ñeå keát noái nhoùm coâng ngheä
taïo Web site, coù khaû naêng töông taùc thoâng minh
vôùi ngöôøi duøng maùy khaùch vaø vôùi maùy phuïc vuï
cuøng kho döõ lieäu ôû maùy phuïc vuï .
Trong caùc coâng ngheä ñoù coù ActiveX QLSVObject
(ADO), cho pheùp kieåm soaùt deã daøng coâng ngheä
truy caäp cô sôû döõ lieäu .

Nguyễn Minh Đức - Khoa CNTT


Giới thiệu

Vieäc cô sôû döõ lieäu taäp trung taïi server vaø caùc
client coù theå truy caäp ñoàng thôøi neân coù theå xaåy ra
tranh chaáp, cuï theå nhö coù nhieàu ngöôøi cuøng ghi
leân cô sôû döõ lieäu moät luùc khi aáy döõ lieäu cuûa ngöôøi
naøy chöa ghi xong thì döõ lieäu cuûa ngöôøi khaùc ñaõ
ghi vaøo (Baøi toaùn ñaêng kyù caùc moân hoïc ).
Do ñoù khi ghi döõ lieäu leân file, caàn khoaù cô sôû döõ
lieäu khoâng cho client khaùc truy xuaát cho ñeán khi
môû khoaù.
Nguyễn Minh Đức - Khoa CNTT
ASP làm việc như thế nào

Trang HTML tĩnh

Nguyễn Minh Đức - Khoa CNTT


ASP làm việc như thế nào

Trang HTML động (Dynamic)

Nguyễn Minh Đức - Khoa CNTT


ASP làm việc như thế nào

ASP thöïc chaát laø môû roäng maùy phuïc vuï WEB , cho pheùp vieát kòch baûn beân maùy
phuïc vuï .Ñoàng thôøi noù coøn cung caáp baûng toùm taét ñoái töôïng vaø thaønh phaàn ,
quaûn lyù töông taùc giöõa maùy phuïc vuï Web vaø trình duyeät. Coù theå thao taùc ñoái
töôïng naøy qua ngoân ngöõ vieát kòch baûn.

Nguyễn Minh Đức - Khoa CNTT


Các đối tượng trong ASP

Request (Xử lý yêu cầu)


Response (Xử lý trả về)
Server
Application
Session (Quản lý thông tin về ứng dụng)
ObjectContext (Dùng với MicroSoft Transaction Server)

Nguyễn Minh Đức - Khoa CNTT


Khái niệm ODBC ( Open Database Connectivety )

ODBC laø tieâu chuaån ñöôïc laäp vaøo naêm 1992 chuõ yeáu
ñöôïc Microsoft hoã trôï noù cho pheùp truy caäp thoâng tin
trong cô sôû döõ lieäu thuoäc nhieàu loaïi khaùc nhau
Muoán chuyeån cô sôû döõ lieäu leân trang Web ta duøng
phöông phaùp CGI ( Common Gateway Interface ) cuøng
vôùi ODBC

Nguyễn Minh Đức - Khoa CNTT


Khái niệm ODBC ( Open Database Connectivety )

Maõ ASP thöôøng ñöôïc thi haønh treân Server. Maõ naøy taïo
ra caùc trang HTML roài gôûi noù qua maïng Internet ñeán
trình duyeät, khoâng caàn trình duyeät cuï theå nghóa laø
khoâng coù maõ laäp trình gôûi ñeán Client. Kòch baûn treân
Client coù theå bao haøm treân trang ASP, nhöng khoâng caàn
thieát ñeå khai thaùc ASP vaø ADO

Nguyễn Minh Đức - Khoa CNTT


Khái niệm ODBC ( Open Database Connectivety )

Veà cô baûn , giaûi phaùp beân maùy phuïc vuï ASP vaø ADO
khaùc vôùi kòch baûn beân maùy khaùch vieát baèng JavaScript
hay VBScript hay trình con vieát baèng Java . Giaûi phaùp
beân maùy khaùch gôûi maõ vieát kòch baûn thaät ñeán trình
duyeät. Trình duyeät phaûi coù phaàn meám thích hôïp môùi
mong thi haønh kòch baûn beân trình duyeät. Thi haønh kòch
baûn ñoù chieám thôøi gian CPU trình duyeät thay vì thôøi
gian CPU maùy phuïc vuï

Nguyễn Minh Đức - Khoa CNTT


Lập trình với ASP

Một trang ASP thường có 4 phần:


Dữ liệu văn bản (Text)
Thẻ HTML
Mã Client – Side (<script>....</script>)
Mã chương trình ASP: <% ...... %>
Ví dụ
<html>
<body>
<%
response.write"Hello World!“
%>

</body>

</html>

Nguyễn Minh Đức - Khoa CNTT


ASP...

Nguyễn Minh Đức - Khoa CNTT


ASP...

Quy định về ngôn ngữ (ở đầu trang)


<%LANGUAGE=ScriptingLanguage%>
<%LANGUAGE=VBScript%>
Các đối tượng xây dựng sẵn trong ASP
Request
Response
Session
Cookies
Server,
Application,…

Nguyễn Minh Đức - Khoa CNTT


Xử lý dữ liệu từ người dùng

Trang nhập liệu:


Nhập qua đối tượng Form
Thực hiện Submit
Trang xử lý dữ liệu, sử dụng đối tượng Request
Request.QueryString(“FieldName”) – method GET
Request.Form(“FieldName”) – method POST

Nguyễn Minh Đức - Khoa CNTT


Xử lý dữ liệu từ người dùng...
<HTML> File: Input.html
<HEAD>
<TITLE>Input data</TITLE>
</HEAD>
<BODY>
<FORM ACTION="hello.asp" NAME="myform" METHOD="GET">
First Name: <INPUT TYPE="TEXT" NAME="FirstName" SIZE=20><br>
Last Name: <INPUT TYPE="TEXT" NAME="LastName" SIZE=20><br>
Gender: <SELECT NAME="Gender" >
<OPTION VALUE="Mr">Male</OPTION>
<OPTION VALUE="Ms">Female</OPTION>
</SELECT>
<INPUT TYPE="SUBMIT" NAME="b1" VALUE=”Submit”>
</FORM>
</BODY>
</HTML>

Nguyễn Minh Đức - Khoa CNTT


Xử lý dữ liệu từ người dùng...
<HTML> File: hello. asp
<HEAD>
<TITLE>Output data</TITLE>
</HEAD>
<BODY>
<%
FName = Request.QueryString("FirstName")
LName = Request.QueryString("LastName")
Gender = Request.QueryString("Gender")
%>
<p>Hello
<%
Response. Write Gender & " " & FName & " " & LName
%>
</BODY>
</HTML>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu

Sử dụng lệnh <% Response. Write ..... %>


Viết lệnh trên nhiều dòng
<%
Response. Write “Chào mừng bạn đến với Website” &_
“của Trường Đại học Sư phạm Kỹ thuật Nam Định”
%>
Sử dụng <% = .... %>
<%
Response. Write “Trường Đại học SPKT Nam Định”
%>
<%=“Trường Đại học SPKT Nam Định” %>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

Lưu ý các dấu xâu ký tự “ ... ” , ‘ ... ’


In ra dấu “
“” : “In ra ký tự “” nháy “” ”
In ra ký tự “nháy”
CHR(34)
Dùng dấu nháy đơn
“In ra ký tự ‘nháy đơn’ ”

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

<html>
<body>
<script type="text/vbscript">
dim name
name="Jan Egil"
document.write "are you""ok"""
document.write "<hr>"
document.write "are you ‘ok’ "
document.write "<hr>"
</script>
<% response.write ("are you"&chr(34)&"ok"&chr(34)) %>
</body>
</html>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

In ra ký tự HTML < , >, & ...


Server.HTMLEncode (str): Xuất đầy đủ ký tự
HTML
Server.URLEncode (str): Xuất chuỗi theo
dạng URL

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

<html>
<body>
<%
response.write ("<h1>OK</h1>")
response.write (Server.HTMLEncode("<h1>OK</h1>")&"<p>")
response.write (Server.URLEncode("www.a.com/a.asp?test=test"))
%>
</body>
</html>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...
<HTML>
<HEAD> <TITLE>Output data</TITLE>
</HEAD>
<BODY>
<%
Response.Write "<B>Hyperion</B> by <I>Dan Simmons</I> is a great novel"
Response.Write "<p>"
Response.Write server.htmlencode("<B>Hyperion</B> by <I>Dan Simmons</I> is a great
novel")
Response.Write "<p>"
Response.Write "Joe Smith & Hilda = a team"
Response.Write "<p>"
Response.Write server.URLencode("Joe Smith & Hilda = a team")
%>
</BODY>
</HTML>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

Tạo trang Web có Form


<FORM> Year
<SELECT NAME= "Year" >
<OPTION VALUE="1930">1930</OPTION>
<OPTION VALUE="1931">1931</OPTION>
<OPTION VALUE="1932">1932</OPTION>

<OPTION VALUE="1980">1980</OPTION>

</SELECT>

</FORM>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...
Viết lại Code bằng ASP
<html>
<Form>
Year &nbsp;<Select name="Year">
<%
for i=1930 to 1980
Response.write ("<OPTION VALUE=" & i & ">")
Response.write (i & "</OPTION>")

next
%>
</Select>
</Form>
</html>
Nguyễn Minh Đức - Khoa CNTT
Xử lý kết xuất dữ liệu...
Cách dùng khác <%=... %>
<html>
<Form>
Year &nbsp;<Select name="Year">
<%
for i=1930 to 1980
%>
<OPTION value="<%=i%>"> <%=i%> </OPTION>
<%
next
%>
</Select>
</Form>
</html>

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...

Tạo bảng dữ liệu động

Nguyễn Minh Đức - Khoa CNTT


Xử lý kết xuất dữ liệu...
Dùng Code ASP (Phần header của table)
<html>
<head>
<title>STT</title>
</head>
<body>
<table border="1" >
<tr>
<td width="25%"> <p align="center">STT</td>
<td width="25%"> <p align="center">MSSV</td>
<td width="25%"> <p align="center">Họ và Tên</td>
<td width="25%"> <p align="center">Ghi chú</td>
</tr>
……..
Nguyễn Minh Đức - Khoa CNTT
Xử lý kết xuất dữ liệu...
Phần Data
<% Phần Code HTML
để hiển thị
for i= 1 to 99
%>
<tr>
<td width="25%"> <%=i%> </td>
<td width="25%">HC00 <%=i%> </td>
<td width="25%">Nguyễn Vãn A <%=i%> </td>
<td width="25%">Ghi chú <%=i%> </td>
</tr>
<% Phần dữ liệu động:
next
-Phát sinh
%> -Tính toán
</table> -Truy vấn từ Database
</body>
</html>
Nguyễn Minh Đức - Khoa CNTT
Xử lý kết xuất dữ liệu...

Nguyễn Minh Đức - Khoa CNTT


Các vấn đề khác

Include file
<!– Include file = “Path/File name” -->
Ngăn cản Cache trang Web
<%
Response.ExpiresAbsolute = #2000-01-01# ‘dùng ngày nhỏ hơn hiện hành
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", "private, no-cache, mustrevalidate"
%>

Nguyễn Minh Đức - Khoa CNTT


Các vấn đề khác

Ví dụ:
<html>
<body>
<h3>Words of Wisdom:</h3>
<p><!--#include file="wisdom.inc"--></p>
<h3>Bay Gio la:</h3>
<p><!--#include file="time.inc"--></p>
</body>
</html>

Nguyễn Minh Đức - Khoa CNTT


Các vấn đề khác…

Nguyễn Minh Đức - Khoa CNTT


Các vấn đề khác…

Đặt bảng mã xử lý Unicode


<%@CODEPAGE=65001%>
<%Session.Codepage=65001%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
</HEAD>
<BODY>
<% Các lệnh xử lý %>
</BODY>
</HTML>

Nguyễn Minh Đức - Khoa CNTT

You might also like