Bài giảng Lập trình mạng - Chương 4: DHMTL và Lập trình Web chạy ở Client - Nguyễn Cao Đạt

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHMTL  
& LẬP TRÌNH WEB CHẠY Ở CLIENT  
CHƯƠNG IV  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 1  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
GIỚI THIỆU HỆ THỐNG WEB  
• Mô hình hoạt động: Web browser/Web server  
Web client  
Web server  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
HTTP  
Trang 2  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
GIỚI THIỆU HỆ THỐNG WEB  
z Web server: chương trình quản lý một cây thứ bậc các trang  
Web và phục vụ yêu cầu truy xuất chúng từ các client từ xa.  
z Web Browser: chương trình giao tiếp với người dùng, nhận  
yêu cầu từ user rồi truy xuất trang Web ở server tương ứng  
để phân giải và hiển thị nội dung lên màn hình.  
z Trang Web: đơn vị gởi nhận giữa Web server và Web client,  
nó là 1 file văn bản được viết bằng ngôn ngữ HTML  
z Web browser và web server sẽ tạo 1 cầu nối TCP để trao đổi  
thông tin, server lắng nghe ở port 80 (port mặc định) và dùng  
giao thức HTTP (HyperText Transfer Protocol).  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 3  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
CẤU TRÚC MỘT GIAO DỊCH HTTP 1.0  
z
z
z
Bước 1: HTTP client mở kết nối đến HTTP server  
Bước 2: HTTP client gửi request message đến HTTP server  
Bước 3: HTTP server trả response mesage về cho HTTP client, chứa  
resource mà HTTP client yêu cầu  
z
B
z
Ví dụ  
Client:  
Server:  
GET /path/file.html HTTP/1.0  
User-Agent: HTTPTool/1.0  
[blank line here]  
HTTP/1.0 200 OK  
Date: Fri, 31 Dec 1999 23:59:59 GMT  
Content-Type: text/html  
Content-Length: 1354  
[blank line here]  
<html>  
…
</html>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 4  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
GIỚI THIỆU VỀ LẬP TRÌNH WEB  
z Các đặc điểm của ứng dụng web  
– Không phải là một ứng dụng độc lập, là ứng dụng chạy  
trên nền web-server.  
– Người lập trình có thể thực hiện các thao tác trên ứng dụng  
web như với một ứng dụng độc lập.  
– Có thể lấy thông tin từ user.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 5  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z Là một ngôn ngữ đánh dấu siêu văn bản.  
z Sử dụng các thẻ (tag) để định dạng: văn bản, đoạn  
vi tượng  
như file Word, Excel, JavaBean…  
z Cho phép chèn các đoạn mã script như JavaScript  
thực thi tại trình duyệt (browser).  
z Là định dạng chuẩn cho trang web.  
– Mở rộng: XML, WSDL/SOAP…  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 6  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
CÁC CÔNG CỤ TẠO TRANG WEB  
z Microsoft Visual InterDev 6  
– HTML, ASP…  
z Microsoft Visual Studio.NET 2003  
– HTML, ASP.NET, ASP.NET Webservice, C#, C++…  
z Microsoft Frontpage  
– HTML…  
z Jbuilder  
– HTML, JSP, Java Servlet, Java EJB…  
z Macromedia Dreamweawer MX 2004  
– HTML, ASP, JSP, ASP.NET…  
z EditPlus  
z Notepad/Wordpad/Unix VIM  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 7  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 8  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 9  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs  
– Cấu trúc cơ bản của một form  
[<INPUT TYPE=“” NAME=“” VALUE="">]+  
</FORM>  
– Các loại (type) INPUT  
z TEXT: là textbox dùng để nhập dữ liệu.  
– Cú pháp:  
<INPUT [TYPE=TEXT] NAME="text-id" [SIZE=nn]  
[MAXLENGTH=nn] [VALUE="default text"]>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 10  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs(tt)  
– Các loại (type) INPUT  
z SUBMIT: truyền dữ liệu form đến ứng dụng web  
– Cú pháp: <INPUT TYPE=SUBMIT [NAME="button-id"]  
[VALUE="text"]>  
z RESET:đưa nội dung của form trở về giá trị ban đầu  
– Cú pháp: <INPUT TYPE=RESET [VALUE=“text"]>  
z BUTTON: nút nhấn bất kỳ  
– Cú pháp: <INPUT TYPE=BUTTON [NAME="button-id"]  
[VALUE="text"]>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 11  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs(tt)  
– Các loại (type) INPUT  
– Cú pháp: <INPUT TYPE=RADIO NAME="radio-set-id"  
VALUE="choice-id" [checked]>  
<input type="radio" value="V1" checked name="R1">Option 1  
<br><input type="radio" value="V2" name="R1">Option 2  
<br><input type="radio" value="V3" name="R1">Option 3  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 12  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs(tt)  
– Các loại (type) INPUT  
z CHECKBOX: lựa chọn một hoặc nhiều  
– Cú pháp: <INPUT TYPE=CHECKBOX NAME="id"  
VALUE="choice-id" [CHECKED]>  
– Ví dụ:  
<input type="checkbox" name="C1“ value="ON">Check 1 <br>  
<input type="checkbox" name="C1" value="ON" checked>Check 2  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 13  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs(tt)  
– Các loại (type) INPUT  
– Cú pháp: <INPUT TYPE=HIDDEN NAME="id"  
VALUE="data">  
– Nhập vùng văn bản: TEXTAREA  
z <TEXTAREA NAME="id" [COLS=nn] [ROWS=nn]>default  
text</TEXTAREA>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 14  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
HTML – HyperText Markup Language  
z FORMs(tt)  
z FORMs(tt)  
– Lựa chọn listbox: SELECT  
z <SELECT NAME="id" [SIZE=nn] [MULTIPLE]>  
[<OPTION [VALUE=“value"] [SELECTED]>text ]+  
</SELECT>  
<select size="1" name="D1">  
<option value="501097">Mạng máy tính</option>  
<option value="501016">Lập trình mạng</option>  
</select>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 15  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
z Các trang HTML có thể được lập trình để thực hiện  
các thao tác thực thi trên web client.  
z Các phng pháp phbin lp trình hin nay:  
– Script (Javascript, Vbscript)  
– Java Applet  
– ActiveX Control  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 16  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
z Cú pháp cho một đoạn code Javascript  
<script language=“JavaScript”>  
//các khai báo biến  
[var variable;]*  
//các lệnh gọi hàm và các hàm  
function function-name([agrv]*){  
//các câu lệnh khai báo và thực thi  
[return [value];]  
}
</script>  
z Sử dụng file Javascript (*.js) đã có  
<script language="JavaScript" src="*.js"></script>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 17  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
z Các đối tượng được xây dựng sẵn trong JavaScript  
– window: chứa các thuộc tính liên quan đến cửa sổ hiện thời  
–
– location: các thuộc tính về địa chỉ trang web  
– history: các thuộc tính về vị trí mà web browser đã đến  
z Mỗi phần tử trong trang HTML đều có thể coi là một đối  
tượng, có thể khai báo sự kiện để gọi hàm Javascript.  
– Cú pháp  
<tags-name [properties]*  
[event-name=“procedure call” ]*>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 18  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
– Các sự kiện có thể dùng  
z onClick: click chuột vào đối tượng.  
z onFocus: focus vào đối tượng trong form.  
z onMouseOver: di chuyển chuột vào trên đối tượng.  
z onMouseOut: di chuyển chuột ra khỏi đối tượng.  
z onChange: thay đổi giá trị của các đối tượng chứa văn bản.  
z onBlur: chuyển focus khỏi đối tượng trong form.  
z onSelect: chọn phần tử trong listbox.  
z onLoad: xảy ra khi một document được load.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 19  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
z Kiểm tra phần tử SELECT  
var select_value;  
function dropDownMenu()  
{
vdex;  
if (myindex==0) {  
alert("\nYou must make a selection from the drop-down  
menu.");  
document.forms[0].menu.focus();  
}
else {  
select_value  
=document.forms[0].menu.options[myindex].value;  
return true;  
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 20  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB Ở CLIENT  
z Kiểm tra thông tin địa chỉ E-mail nhập vào  
function isEmail() {  
if (document.forms[0].elements[1].value == '') {  
alert ("\n The E-Mail field is blank. \n\n “+  
“Please enter your E-Mail address.")  
document.forms[0].elements[1].focus();  
return false;  
}
if (document.forms[0].elements[1].value.indexOf ('@',0) == -1 ||  
document.forms[0].elements[1].value.indexOf ('.',0) == -1) {  
alert ("\n The E-Mail field requires a \"@\" and a \".\""+  
"be used. \n\nPlease re-enter your E-Mail address.")  
document.forms[0].elements[1].select();  
document.forms[0].elements[1].focus();  
return false;  
}
return true;  
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 21  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
z DHTML (Dynamic HTML) là trang HTML có chứa  
các đoạn mã JavaScript tạo các hiệu ứng, thay đổi  
cá
z DHTML kết hợp giữa HTML, Javascript và  
Cascading Style Sheets(CSS).  
z CSS là sự kết hợp giữa các tags HTML và style.  
z Style có thể chứa nhiều thuộc tính.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 22  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
z Mọi tags HTML đều có style. Javascript có thể dựa  
trên các biến cố để thay đổi các thuộc tính của style.  
z Mỗi phần tử trong trang HTML đều có thể được gán  
ID (khác với name) và có các thuộc tính style.  
z Có thể dùng tag <div id=“”>…</div>  
z Mỗi web browser có thể thực thi một số lệnh khác  
nhau.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 23  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
z Phát hiện loại web browser  
– Dùng các thuộc tính appName và appVersion của đối  
tượng navigator  
var browser_version = navigator.appName;  
alert(“You use browser “+browser_name+” version “+  
browser_version);  
– Phân biệt hai loại chính  
if(document.all){ //IE  
the_div=eval(“window.document.all.”+div_name+”.style”);  
}else if(document.layers){//Netscape  
the_div=eval(“window.document.all.”+div_name);  
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 24  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
<HTML>  
<HEAD>  
<TITLE>Javascipt example about timer</TITLE>  
<SCRIPT language="JavaScript">  
<!--  
var second_counter=0, counter=0;  
function my_timer(){  
D = new Date();  
seconds= D.getSeconds();  
if(seconds!=second_counter) counter++;  
second_counter=seconds;  
if(counter>=1000) counter=0;  
document.images[0].src= get_images(counter/100);  
document.images[1].src= get_images((counter%100)/10);  
document.images[2].src= get_images(counter%10);  
SecondText.innerText=counter;  
setTimeout('my_timer()',1000);  
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 25  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
<HTML>  
<HEAD>  
<TITLE>Javascipt example about timer</TITLE>  
<SCRIPT language="JavaScript">  
<!
va
function my_timer(){  
D = new Date();  
seconds= D.getSeconds();  
if(seconds!=second_counter) counter++;  
second_counter=seconds;  
if(counter>=1000) counter=0;  
document.images[0].src= get_images(counter/100);  
document.images[1].src= get_images((counter%100)/10);  
document.images[2].src= get_images(counter%10);  
SecondText.innerText=counter;  
setTimeout('my_timer()',1000);  
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 26  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
DHTML  
function get_images(number){  
var newNum= Math.floor(number);  
return "../images/"+newNum+".jpg";  
}
-->  
</SCRIPT>  
</HEAD>  
<BODY onload='my_timer()'>  
<P><FONT face=System>Timer :  
<IMG alt="" src="../images/0.jpg" width="13" height="23">  
<IMG alt="" src="../images/0.jpg" width="13" height="23">  
<IMG alt="" src="../images/0.jpg" width="13" height="23">  
<FONT face="Arial Black" ID="SecondText">000</FONT>  
seconds</FONT></P>  
</BODY>  
</HTML>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 27  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB CHẠY Ở CLIENT  
z Java Applet  
– Là một ứng dụng được viết bằng Java, nhúng trong trang  
– Khi trang HTML có chứa tag applet được gọi, class applet  
được tải về máy client và thực thi trên máy client.  
– Một ứng dụng applet phải thừa kế class java.applet.Applet  
– Có thể thực hiện các thao tác như một chương trình Java,  
tuy nhiên bị hạn chế một số chức năng vì tính bảo mật cho  
máy client.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 28  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB CHẠY Ở CLIENT  
z Hoạt động của một Applet  
– Được web browser tải mã(byte code) về máy client.  
– Method init() sẽ được gọi để khởi động các thông số.  
– Method start() được gọi để thực thi.  
– Method stop() được gọi khi người dùng thoát khỏi applet  
– Method destroy() được thực thi khi applet kết thúc.  
z ActiveX Control  
– Tương tự như Java Applet, được viết bởi các công nghệ  
của Mircosoft.  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 29  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB CHẠY Ở CLIENT  
//file SampleApplet.java  
import java.applet.*; import java.awt.*;  
public class SampleApplet extends Applet {  
Strin
pu
text = getParameter("text");  
try { x = Integer.parseInt(getParameter("x"));  
y = Integer.parseInt(getParameter("y"));  
}catch(NumberFormatException ex){ }  
}
public void paint(Graphics g) {  
g.setFont(new Font("TimesRoman",Font.BOLD+  
Font.ITALIC,36));  
g.drawString(text,x,y);  
}
}
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 30  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
LẬP TRÌNH WEB CHẠY Ở CLIENT  
<HTML> <HEAD> <TITLE>Using the Applet Tag  
</TITLE> </HEAD>  
<BODY>  
<H1>An Applet that Displays Text at a Designated  
Location</H1>  
<APPLET CODE="SampleApplet.class" HEIGHT=300  
WIDTH=300>  
<PARAM NAME="text" VALUE="Applets are fun!">  
<PARAM NAME="x" VALUE="50">  
<PARAM NAME="y" VALUE="50">  
Text displayed by browsers that are not Java-  
enabled.  
</APPLET>  
</BODY>  
</HTML>  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 31  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
TÀI LIỆU THAM KHẢO THÊM  
z HTML Homepage on W3C  
z HTML ver 4.0  
z HTML Form  
z Dave Raggett’s Introduction to HTML  
z Javascript & DHTML  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 32  
Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM  
TOÅNG KEÁT  
z Giới thiệu hệ thống Web  
z Giới thiệu lập trình Web  
z Lập trình Web phía Client  
– Javascript  
– DHTML  
Baûn quyeàn ®2005- Khoa Coâng Ngheä Thoâng Tin  
Trang 33  
pdf 17 trang Thùy Anh 14380 Free
Bạn đang xem tài liệu "Bài giảng Lập trình mạng - Chương 4: DHMTL và Lập trình Web chạy ở Client - Nguyễn Cao Đạt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_mang_chuong_4_dhmtl_va_lap_trinh_web_cha.pdf