Tải bản đầy đủ (.pdf) (78 trang)

Ứng dụng công nghệ Ajax vào việc thi trắc nghiệm trên máy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.31 MB, 78 trang )

Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 1 -

LỜI MỞ ĐẦU
Trường Đại học Nha Trang có 7 khoa với hơn 24 chuyên ngành. Với mỗi chuyên
ngành lại có những hình thức thi khác nhau, từ hình thức thi viết trên giấy, thi vấn đáp,
hay phần thi thực hành trên máy tính.
Hình thức thi viết trên giấy gồm 2 dạng: viết luận đơn thuần và trắc nghiệm.
Hình thức thi này được áp dụng cho hầu hết các môn của các chuyên ngành và cũng là
hình thức thi chủ yếu từ trước tới nay.
Hình thức thi vấn đáp được dành riêng cho các chuyên ngành về ngoại ngữ khi
mà khả năng giao tiếp luôn được xem là ưu tiên số một.
Phần thi thực hành trên máy tính lại là một đặc trưng của những chuyên ngành
liên quan đến công nghệ thông tin, nơi sẽ đào tạo ra những lập trình viên, những kỹ sư
mạng tương lai. Vì thế, những thao tác trên máy tính là cực kỳ quan trọng.
Với ưu điểm nhanh và chính xác, nếu đưa công nghệ thông tin vào ứng dụng
trong việc thi cử của sinh viên thì không những tiết kiệm được khoảng thời gian lãng
phí cho những công đoạn không cần thiết khác mà còn phần nào giúp các thầy cô thoát
khỏi áp lực: phải hoàn thành bảng điểm cho hàng trăm sinh viên trong một khoảng
thời gian ngắn. Hơn nữa, có thể chỉ sau vài phút , sinh viên sẽ biết được điểm thi của
mình mà không cần phải mất nhiều thời gian chờ đợi như trước đây.
Rõ ràng, với những ưu điểm như trên, việc ứng dụng công nghệ thông tin vào
những hình thức thi hiện tại chỉ còn là vấn đề thời gian.
Với thời gian thực tập và khả năng còn hạn chế cho nên đề tài còn rất nhiều
thiếu sót. Em mong được sự đóng góp và giúp đỡ chân tình của quý thầy cô và các bạn
sinh viên.
Em xin chân thành cảm ơn cô Lê Thị Bích Hằng đã tận tình giúp đỡ em hoàn
thành bài luận văn này!
Nha Trang, ngày 09 tháng 06 năm 2007.


SVTH: Nguyễ n Thị Phương Uyên
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 2 -


ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
























Chữ ký của giáo viên


Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 3 -


ĐÁNH GIÁ CỦA HỘI ĐỒNG BẢO VỆ
























Chữ ký của giáo viên


Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 4 -

Chương 1
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Để tổ chức một kỳ thi cho sinh viên phải trải qua rất nhiều công đoạn: sắp xếp
thời gian thi, phòng thi, lập danh sách thí sinh, danh sách giáo viên canh thi, chấm thi
và cuối cùng là lên danh sách điểm. Đó là chưa kể việc phân bố ngày giờ thi cho từng
chuyên ngành của từng khoa. Điều này làm lãng phí rất nhiều thời gian và công sức
của các thầy cô cũng như sinh viên.
Hiện nay, với hình thức thi trắc nghiệm nói riêng, hầu hết công đoạn chấm điểm
đều do máy tính đảm nhiệm với hai ưu điểm chính là nhanh và chính xác. Tuy nhiên,
cách làm này vẫn chưa hoàn toàn đảm bảo được yêu cầu bảo mật đề thi và bài làm của
từng sinh viên.
Đề tài “Ứng dụng công nghệ Ajax vào việc thi trắc nghiệm trên máy” đưa ra
một hình thức thi mới: trắc nghiệm trực tuyến, tận dụng sức mạnh của công nghệ
Internet. Ngoài những ưu điểm của hình thức thi trắc nghiệm trước đây, những ứng
dụng công nghệ thông tin đưa vào không những rút ngắn được thời gian, đảm bảo sự
chính xác, giải quyết được vấn đề bảo mật mà còn giúp sinh viên chủ động hơn trong
việc học và thi của mình. Đặc biệt công nghệ Ajax chính là một phần trong hướng phát

triển Web, bộ công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và
chỉ hiển thị những gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.
Tóm lại, chỉ với một máy tính có nối mạng Internet, sinh viên có thể thực hiện
bài thi của mình ở bất cứ đâu, vào bất cứ khoảng thời gian nào thuận tiện nhất. Điểm
nổi bật của hình thức thi trực tuyến này là sinh viên sẽ được biết điểm thi của mình gần
như ngay lập tức chỉ sau một cái nhấp chuột.
So với những hình thức thi khác thì đây là cách thi hiệu quả, nhanh chóng, chính
xác và phần nào hạn chế được nạn quay cóp trong sinh viên.

Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 5 -

Chương 2
GIỚI THIỆU CÔNG NGHỆ
2.1. Giới thiệu .NET Platform
.NET platform là nền tảng cho những thế hệ phần mềm sẽ được xây dựng trong
tương lai.
.NET platform còn hơn một thứ ngôn ngữ mới, một bộ phát triển phần mềm
(Software development kit - SDK), hay cả một hệ điều hành. Nó cung cấp những dịch
vụ mới cực mạnh, một bộ vi xử lý mới độc lập với dạng thức nhị phân, những ngôn
ngữ quản lý mới, quản lý phần mở rộng cho những ngôn ngữ sẵn có, và còn nhiều
những tính năng khác… Thực tế, những công cụ mới này sẽ không khả thi nếu không
có một nền tảng vững chắc từ phần nền của hệ điều hành, nơi sẽ trao quyền thực thi
cho những ứng dụng của bạn.
Quy tắc đằng sau .NET platform là thế giới vi tính đang thay đổi từ một trong số
những máy tính được kết nối đến các server thông qua các mạng giống như Internet, sẽ
được kết nối đến một nơi có đầy đủ các thiết bị thông minh, các máy tính, và các dịch
vụ cùng hoạt động để cung cấp những kinh nghiệm phong phú hơn cho người sử dụng.

.NET platform là câu trả lời của Microsoft cho những thử thách của sự thay đổi này với
những người phát triển phần mềm.
.NET platform có nhiều thành phần. Những server như BizTalk và SQL Server,
hay những dịch vụ khác như: .NET My Services và thành phần đầu tiên nhìn thấy
được, .NET Passport, được mô tả bởi một số phần trong bộ .NET platform. Tuy nhiên,
hầu hết chúng ta lại nghĩ .NET Framework là những gì mà .NET platform đề cập đến.
Nó bao gồm: Visual Studio.NET (VS.NET), .NET Common Language Runtime
(CLR), .NET Base Class Libraries (BCL). Những thành phần khác có thể được gọi bởi
những ứng dụng đặc biệt nhưng chúng không phải là phần thiết yếu của tất cả các ứng
dụng .NET.
Toàn bộ kiến trúc .NET gồm 3 thành phần chính:
+ .NET Framework: một nền tảng phát triển ứng dụng hoàn toàn mới.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 6 -

+ .NET Products: những ứng dụng khác nhau của Microsoft đều dựa vào .NET
Framework, gồm những phiên bản mới của Exchange và SQL Server, là Extended
Marked Language (XML), đều được đưa vào và tích hợp trong .NET platform.
+ .NET Services: được Microsoft cung cấp để phát triển những ứng dụng chạy
trên nền .NET Framework.
.NET Framework có thể chia thành 3 phần:
+ Common Language Runtime (CLR): một môi trường quản lý thực thi điều
khiển cấp phát bộ nhớ, bẫy lỗi, và tương tác với những dịch vụ của hệ điều hành hệ
thống.
+ Base Class Library (BCL): một tập hợp lớn về số lượng các thành phần dùng
cho lập trình và những giao diện chương trình ứng dụng (APIs).
+ 2 mục tiêu phát triển hàng đầu: một cho những ứng dụng Web (ASP.NET), và
một cho những ứng dụng Windows bình thường (Windows Form).

Ưu điểm mà .NET Framework đưa ra bao gồm quy trình phát triển ngắn hơn
(dùng lại những đoạn code, ít lập trình những đoạn code lạ, hỗ trợ nhiều ngôn ngữ lập
trình), dễ thực thi hơn, ít loại dữ liệu bị lỗi hơn vì đã có đầy đủ những loại dữ liệu an
toàn, giảm thất thoát bộ nhớ nhờ bộ “gom rác” (garbage collector), và nhiều những ứng
dụng có thể thay đổi, đáng tin cậy hơn.











Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 7 -


 Kiến trúc phân cấp của Microsoft .NET:
















Hình 1.2.1: Kiến trúc .NET Platform
Hình 1.2.1 cho thấy kiến trúc .NET platform. Về cơ bản, những ngôn ngữ thuộc
họ .NET được biên dịch vào đầu ra của Microsoft Intermediate Language (MSIL hay
IL) theo bộ Common Language Specification. Những loại ứng dụng phát triển chính là:
Web Forms, Web Services và ứng dụng Windows Forms. Những ứng dụng này sử
dụng XML và Simple Object Access Protocol (SOAP) để kết nối, nhận chức năng từ
Base Class Library, và chạy trong môi trường Common Language Runtime. Visual
Studio .NET không yêu cầu phải phát triển những ứng dụng của .NET Framework, tuy
nhiên nó lại đòi hỏi một kiến trúc có thể mở rộng để làm nó trở thành một sự lựa chọ lý
tưởng cho sự phát triển phần mềm .NET.

Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 8 -

 Những tính năng của .NET Platform:
Điểm trung tâm của .NET nằm ở Common Language Runtime, Base Class
Library và Common Language Specification. .NET Base Class Library mô tả những
tính năng của Common Language Runtime theo cùng cách mà Window API cho phép
bạn sử dụng những tính năng của hệ điều hành hệ thống; tuy nhiên, nó cũng cung cấp
những tính năng ở cấp cao hơn để tiện cho việc dùng lại những đoạn code.

Kiến trúc này mang lại rất nhiều lợi ích, chứ không phải chỉ là phù hợp với API.
Bằng cách viết Common Language Runtime và sử dụng .NET Base Class library, tất cả
những dịch vụ ứng dụng đều thông qua mô hình lập trình hướng đối tượng. Hiện nay,
một số những tính năng của các hệ điều hành được truy xuất thông qua các lệnh gọi
DLL dùng C-based API còn những facilities khác được truy xuất thông qua những đối
tượng COM, người phát triển chỉ cần làm những công đoạn cần thiết nhất để làm cho
mọi thứ hoạt động một cách trôi chảy. Một số tính năng có sẵn chỉ dành cho những
người phát triển làm việc với những ngôn ngữ cấp thấp, giải quyết những quyết định
thiết kế.
Mô hình lập trình mới này đơn giản hóa hoàn toàn sức lực khi viết những ứng
dụng Windows DNA, cũng như hầu hết những dự án về Win32 và COM. Người phát
triển không cần phải là những chuyên gia về kiến trúc Windows hay COM, hiểu tường
tận GUIDs, IUnknown, AddRef, Release, HRESULT, … nữa. .NET không chỉ không
chú ý đến những khả năng trên của người phát triển, mà trong một .NET platform, khái
niệm ấy hoàn toàn không tồn tại.
Một lợi ích thú vị khác dành cho những người phát triển .NET là mô hình xử lý
lỗi của nó được thông qua các exceptions. Phát triển phần mềm cho Windows platform
nghĩa là bạn đã bị kéo vào những mâu thuẫn của nó; đặc biệt là ở những cách lỗi trả về.
Một số tính năng sẽ trả về mã lỗi của Win32, một số thì trả về HRESULT, và một số
khác lại gọi các exceptions, tất cả đều yêu cầu phải viết những đoạn mã xử lý lỗi khác
nhau. Trong .NET, lỗi được thông báo thông qua exceptions, là những đoạn code dễ
viết, dễ đọc và dễ duy trì.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 9 -

 .NET platform giấu đi những phần “gian khổ” nhất khi phải đối mặt với những
tính năng của hệ điều hành cơ bản, để bạn tập trung hơn vào những giải pháp làm bằng
tay.

 Phát triển nhiều ngôn ngữ: được đơn giản hóa nhờ sử dụng ngôn ngữ trung
gian và Common Language Runtime.
 Quản lý bộ nhớ tự động: làm giảm bớt mức độ yêu cầu quản lý tài nguyên,
đơn giản là nhờ bộ “gom rác” (garbage collector) dọn dẹp và ngăn cản thất thoát bộ
nhớ.
 .NET platform gồm một hệ thống hỗ trợ cho nhiều version, được thiết kế để
chấm dứt việc sử dụng DLL Hell.
 Rất nhiều phần của .NET platform được xây dựng trên các tiêu chuẩn mở, như
XML và SOAP.
 Không cần phải viết lại mọi thứ khi sử dụng .NET – vì nó có thể thích hợp với
những đoạn code có sẵn và các components thì được duy trì.
 Nó gồm một mô hình bảo mật cải tiến, cho phép điều khiển nhẹ nhàng hơn
cũng như tích hợp tính chắc chắn cho những thiếu sót về bảo mật từ những vấn đề liên
quan đến việc tràn bộ đệm.
 Những components của kiến trúc .NET:
 Common Language Runtime là một môi trường quản lý thực thi mang lại
nhiều lợi ích hơn là phương pháp phát triển code truyền thống.
 Tất cả ngôn ngữ đều được dịch bởi cùng một ngôn ngữ trung gian. IL thì độc
lập platform và bộ xử lý, một ngày nào đó nó có khả năng cho phép những ứng dụng
.NET chạy trên những hệ điều hành hệ thống không phải Windows (non-Windows).
 Common Type System cho phép tất cả các ngôn ngữ chia sẻ các kiểu dữ liệu
mà không cần người phát triển phải dịch lại những quy định ngầm cho từng ngôn ngữ
khác nhau.
 Nó bao gồm một Base Class Library cực lớn để chia sẻ cho tất cả các ngôn
ngữ .NET, đưa ra một dãy các chức năng dự kiến để cải thiện chức năng cho người
phát triển.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 10 -


 Assemblies và metadata được thiết kế để cải thiện điểm yếu của mô hình
COM, bằng cách đưa vào thông tin của những phiên bản mà components yêu cầu, là
một component đã được xây dựng sẵn.
 Assembly cache là một tiện ích mới được thiết kế để chứa các .NET
components chia sẻ. Assembly cache có thể chứa nhiều phiên bản của một assembly có
sẵn, giúp kết thúc sử dụng DLL Hell.
 Qua một quá trình “phản chiếu” (reflection) , một ứng dụng có thể interrogate
với metadata để biết một đối tượng cấu tạo như thế nào.
2.2. Javascript :
2.2.1. Khái niệm Javascript:
JavaScript là ngôn ngữ kịch bản web do Brendan Eich tạo ra trong Netscape.
Lần đầu tiên xuất hiện năm 1996, đó là phiên bản JavaScript 1.0 trong Navigator 2.0.
Từ đó, trải qua nhiều phiên bản và phiên bản xuất hiện gần đây nhất là JavaScript 1.5.
Nó là ngôn ngữ kịch bản hướng đối tượng. JavaScript là ngôn ngữ nhỏ, nhẹ; tuy
không hữu dụng như các ngôn ngữ độc lập, nhưng nó được thiết kế để dễ dàng gắn vào
các sản phẩm và ứng dụng, như trình duyệt web. Trong môi trường máy chủ,
JavaScript có thể được kết nối với các đối tượng môi trường của máy chủ để cung cấp
các control có thể lập trình.
JavaScript là ngôn ngữ lỏng lẻo, không phải định nghĩa kiểu dữ liệu của các
biến một cách chặt chẽ. Thực tế, bạn không thể định nghĩa chặt chẽ các kiểu dữ liệu
trong JavaScript. Hơn nữa, trong nhiều trường hợp, JavaScript thực thi quá trình
chuyển đổi tự động khi cần. Trường hợp nếu bạn thêm một số đến một mục chứa kiểu
text (hay string), số sẽ được chuyển sang text.
JavaScript chứa một tập các đối tượng như: Array, Date và Math và một tập các
thành phần ngôn ngữ như: operator, control structure và statement. JavaScript có thể
được mở rộng cho nhiều mục đích bằng các đối tượng được thêm vào như:
+ Client-side JavaScript: mở rộng cốt lõi ngôn ngữ bằng việc hỗ trợ các đối
tượng để kiểm soát trình duyệt (Navigator hoặc trình duyệt web khác) và Document
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng


SVTH: Nguyễn Thị Phương Uyên
- 11 -

Object Model (DOM). Ví dụ: Sự mở rộng client-side cho phép một ứng dụng đặt các
thành phần trên form HTML và đáp ứng các sự kiện đến user như: click chuột, nhập
form và điều hướng trang.
+ Server-side JavaScript: mở rộng cốt lõi ngôn ngữ bằng việc hỗ trợ các đối
tượng có liên quan để chạy JavaScript trên Server. Ví dụ: Sự mở rộng server-side cho
phép ứng dụng liên kết với cơ sở dữ liệu quan hệ, cung cấp thông tin liên tục từ một
ứng dụng dẫn chứng đến ứng dụng khác hoặc thực thi các thao tác file trên server.
+ Với chức năng LiveConnect của JavaScript, chúng ta có thể tạo code Java và
JavaScript liên kết với nhau. Từ JavaScript, ta có thể đề cập đến các đối tượng Java và
truy xuất các field, phương thức public của Java. Từ Java, ta có thể truy xuất các đối
tượng, thuộc tính và phương thức của JavaScript.
JavaScript đã hết sức thành công – ngày càng tăng rộng hơn những ngôn ngữ
web client khác. Hơn 25% trang web sử dụng ngôn ngữ JavaScript.
Chương trình JavaScript được đặt trong source, thường được gắn trực tiếp vào
bên trong các thành phần web, do đó dễ dàng sử dụng, không cần bất cứ công cụ nào
khác ngoài trình soạn thảo và cũng dễ học ngôn ngữ bằng các đoạn code đặt trong
trang web.
Có nhiều cách đặt tên cho JavaScript: JavaScript, Jscript, ECMAScript.
JavaScript có tên gốc là LiveScript, nhưng được đặt tên lại là JavaScript trước khi
release. JavaScript không liên quan đến Java mặc dù việc thực thi 2 ngôn ngữ có thể
kết hợp trong từng ngôn ngữ trong trình duyệt Netscape.
Bên trong một trình duyệt web, JavaScript thường kết hợp với một tập các giao
diện chung, bao gồm Document Object Model (DOM), cho phép các chương trình
JavaScript tương tác với trang web và người sử dụng. Những giao diện này được mô tả
bởi các chuẩn riêng và không nằm trong ngôn ngữ JavaScript.
JavaScript cho phép thêm vào đoạn lập trình cho trang web. Những phần quan

trọng sử dụng JavaScript:
+ Browser Detection: dò tìm trình duyệt sử dụng visitor trên trang. Tùy vào
trình duyệt, các trang web được thiết kế trên trình duyệt đó có thể được load lên sau đó.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 12 -

+ Cookies: Lưu trữ thông tin trên máy của visitor, sau đó truy xuất thông tin tự
động khi user mở trang web ở lần kế tiếp. Kỹ thuật này được gọi là “cookies”.
+ Control Browsers: Hiệu chỉnh các cửa sổ trong các trang web, đó là các
button, thanh menu, thanh trạng thái hay bất cứ những gì được hiển thị của trình duyệt.
+ Validate Forms: Xác nhận, kiểm tra dữ liệu nhập trong trang trước khi submit
form. Ví dụ: xác nhận địa chỉ email là đúng nếu nó chứa một ký tự @, ngược lại, xác
nhận địa chỉ email là sai.
2.2.2. Chức năng của JavaSrcipt:
* Chức năng:
- Tạo cho người thiết kế HTML một công cụ lập trình.
- Đặt các text động vào trong trang HTML.
- Tác động tới các sự kiện.
- Dò tìm trình duyệt.
- Tạo cookie.
- Khả năng tương tác giữa user và trang web cao.
- Xác nhận dữ liệu ở mức trình duyệt, không yêu cầu trả về server.
- Tạo một shopping card ở mức trình duyệt.
- Quản lý một số lượng dữ liệu tương đối.
- Quản lý applet và plug-in bên trong nhiều bộ khung HTML.
- Tiền xử lý thông tin trước khi được submit đến server.
* Các giới hạn của JavaSript:
- Thiết lập hoặc thay đổi sự lựa chọn trình duyệt mà không có sự cho phép của

user.
- Thực thi một ứng dụng trong máy tính của trình duyệt.
- Đọc và ghi tài liệu trong máy tính của trình duyệt.
- Ghi tài liệu trên server.
- Đọc thư mục của server.
- Bắt giữ thông tin từ server.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 13 -

- Gửi email từ địa chỉ email của user.
Khi trình thông dịch ngôn ngữ hoặc core được gắn vào bên trong trình duyệt
được biết như client-side JavaScript, nghĩa là JavaScript được thực thi trong trình
duyệt. Tuy nhiên, Microsoft không chỉ thực thi JavaScript (sử dụng chuẩn European
Computer Manufacturers Association – ECMA) trong công nghệ trình duyệt, mà còn
sử dụng JavaScript trong lĩnh vực của ASP (Active Server Pages). Khi JavaScript được
gắn vào server thì nó được biết như server-side JavaScript.
2.2.3. JavaSript và Java:
JavaScript và Java giống trong vài trường hợp nhưng khác nhau về cơ bản.
Ngôn ngữ JavaScript giống Java nhưng không có kiểu static và kiểm soát mạnh của
Java. JavaScript hỗ trợ Java hầu hết các cú pháp biểu thức và cấu trúc control-flow cơ
bản.
Đối nghịch với hệ thống biên dịch các lớp được xây dựng bằng cách khai báo,
JavaScript hỗ trợ hệ thống runtime dựa trên một lượng nhỏ các kiểu dữ liệu như: các
giá trị numeric, boolean và string. JavaScript có một mô hình đối tượng dựa trên mẫu
ban đầu thay vì mô hình đối tượng dựa trên lớp chung. Mô hình dựa trên mẫu ban đầu
cung cấp thừa kế động. JavaScript cũng hỗ trợ các hàm mà không cần yêu cầu khai
báo. Các hàm có thể là các thuộc tính của các đối tượng.
JavaScript là ngôn ngữ rất tự do so với Java. Bạn không phải định nghĩa tất cả

các biến, lớp và phương thức. Bạn không phải lo lắng xem phương thức có phải là
pulic, private hay protected và bạn không phải thực hiện các giao diện. Các biến, tham
số và kiểu trả về của hàm không phân ra rõ ràng.
Java là ngôn ngữ lập trình dựa trên lớp được thiết kế để thực thi nhanh và chắc
chắn. Mô hình dựa trên lớp của Java nghĩa là các chương trình bao gồm các lớp và
phương thức của chúng. Lớp của Java có thừa kế và thường yêu cầu phân biệt cấp độ
đối tượng chặt chẽ. Những yêu cầu này làm cho lập trình Java phức tạp hơn JavaScript.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 14 -

2.2.4. Các phiên bản của JavaSript:
Các phiên bản JavaScript được hỗ trợ trong các phiên bản trình duyệt khác nhau.
Browser version Netscape Internet Explorer
2 JavaScript 1.0 n/a
3 JavaScript 1.1 JavaScript 1.0
4 JavaScript 1.3 JavaScript 1.2
5 n/a JavaScript 1.3
6 JavaScript 1.5 JavaScript 1.5
7 JavaScript 1.5 n/a

2.2.5. Cách viết code JavaSript trong trang HTML :
Một thuận lợi của JavaScript là code của nó được đặt trực tiếp trong trang
HTML, nghĩa là trình duyệt không phải yêu cầu server thông dịch mỗi khai báo.
Thẻ <script> sử dụng để gắn code JavaScript vào trang. Tuy nhiên, bởi vì các script có
thể được viết bằng các ngôn ngữ khác JavaScript như VBScript của Microsoft nên phải
chỉ định thuộc tính language trong thẻ <script> như sau:
<script language=”JavaScript”>
// code JavaScript ở đây

</script>
Mặc dù thẻ này thông báo cho trình duyệt biết code JavaScript được đặt trong
trang nhưng vài phiên bản cũ của trình duyệt không có khả năng quản lý JavaScript.
Hơn nữa, vài user có thể chọn không thể hiện JavaScript trong trình duyệt của họ.
Có 2 trường hợp xảy ra cho đoạn code đặt giữa thẻ <script> và </script> làm
cho hiểu sai và hiển thị lên trang web như text. Khi JavaScript không được thông dịch
đúng, đoạn code không được thực thi và user sẽ không hiểu tại sao có các ký tự “giống
như code” trên trang.
Để tránh vấn đề này, ta có thể đặt code JavaScript giữa các thẻ chú thích của
HTML. Phương pháp này sẽ không ngăn các trình duyệt có hỗ trợ JavaScript thông
dịch đúng code, trong khi những trình duyệt không hỗ trợ JavaScript sẽ bỏ qua những
gì xuất hiện giữa các thẻ chú thích HTML. Ví dụ:
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 15 -

<script language=”JavaScript”>
<! bắt đầu JavaScript từ trình duyệt không hỗ trợ
// code JavaScript ở đây
// > kết thúc JavaScript.
</script>
Để tránh nhầm lẫn về cách đặt thẻ <script> và chú thích, hãy nhớ đặt thẻ
<script> trước tiên để nói cho trình duyệt biết code JavaScript sẽ được gắn vào, sau đó
là các thẻ chú thích HTML.
Ở thẻ chú thích đóng > có 2 dấu chéo (//) ở trước để trình duyệt nhận diện các
chú thích JavaScript. Điều này cần thiết để trình duyệt không nhầm lẫn thẻ đóng
HTML là code JavaScript.
Thẻ <script> có thể được bao gộp bên trong phần <head> hoặc phần <body>
của trang. Tuy nhiên, nơi quyết định đặt thẻ <script> có thể có vài nhánh trong trang.

Nếu code JavaScript nhỏ và nó xử lý thành phần trên trang thì có thể đặt trong phần
<body>. Nếu code cần được thực thi tại thời điểm tài liệu được load thì tốt hơn nên đặt
trong phần <head> như trong ví dụ sau:
<html>
<head>
<title> My first script </title>
<script language=”JavaScript”>
<!—
document.write (“Hello, World!”)
alert (“Welcome!!!”)
// >
</script></head><body></body></html>
document.write là câu lệnh chuẩn để xuất ra trang.
Alert là câu lệnh JavaScript chuẩn đưa ra một hộp cảnh báo lên màn hình. Click button
“OK” trên hộp cảnh báo để xử lý.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 16 -

2.3. XML:
2.3.1. Khái niệm XML :
XML, viết tắt của chữ Extensible Markup Language, là một bộ qui luật về cách
chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại để dễ
nhận diện chúng.
• Từ HTML đến XML :
Trong một trang Web, ngôn ngữ đánh dấu HTML dùng các cặp Tags để đánh dấu vị trí
đầu và cuối của các mảnh dữ liệu để giúp chương trình trình duyệt (browser) parse
(ngắt khúc để phân tích) trang Web và hiển thị các phần theo ý người thiết kế trang
Web. Thí dụ như một câu HTML dưới đây:

<P align="center">Chào mừng bạn đến thăm

<STRONG>Vovisoft</STRONG>Web site

</P>
Câu code HTML trên có chứa hai markup Tags, <P> và <STRONG>. Mỗi cặp
Tags gói dữ liệu nó đánh dấu giữa opening Tag và closing Tag. Hai closing Tags ở đây
là </P> và </STRONG>. Tất cả những gì nằm bên trong một cặp Tags được gọi là
Element. Để nói thêm đặc tính của một Element, ta có thể nhét Attribute như align
trong opening Tag của Element ấy dưới dạng AttributeName="value", thí dụ như
align="center".
Vì Tags trong HTML được dùng để format (trình bày) tài liệu nên browser cần
biết ý nghĩa của mỗi Tag. Một browser hay HTML parser sẽ thu thập các chỉ thị sau từ
câu HTML trên:
1. Bắt đầu một Paragraph mới và đặt Text ở giữa trang (<P align="center">).
2. Hiển thị câu Chào mừng bạn đến thăm
3. Hiển thị chữ Vovisoft cách mạnh mẽ (<STRONG>Vovisoft</STRONG>).
4. Hiển thị câu Web site
5. Gặp điểm cuối của Paragraph (</P>)
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 17 -

Để xử lý đoạn code HTML trên, chẳng những browser cần phải xác định vị trí
các Tags mà còn phải hiểu ý nghĩa của mỗi Tag. Vì mỗi Tag có ý ngĩa riêng của nó, thí
dụ P cho Paragraph, STRONG để nhấn mạnh, thí dụ như dùng chữ đậm (Bold).
Giống như HTML, XML đến từ SGML. Nó cũng dùng Tags để encode data.
Điểm khác biệt chánh giữa HTML và XML là trong khi các Tags của HTML chứa ý
nghĩa về formatting (cách trình bày) các dữ liệu, thì các Tags của XML chứa ý nghĩa

về cấu trúc của các dữ liệu. Thí dụ như một tài liệu đặt hàng (order) XML dưới đây:
<Order OrderNo="1023">
<OrderDate>2002-3-27</OrderDate>
<Customer>Peter Collingwood</Customer>

<Item>
<ProductID>1</ProductID>
<Quantity>5</Quantity>
</Item>
<Item>
<ProductID>4</ProductID>
<Quantity>3</Quantity>
</Item>
</Order>
Tài liệu nầy chỉ chứa dữ liệu, không nhắc nhở gì đến cách trình bày. Điều nầy
có nghĩa là một XML parser (chương trình ngắt khúc và phân tích) không cần phải hiểu
ý nghĩa cũa các Tags. Nó chỉ cần tìm các Tags và xác định rằng đây là một tài liệu
XML hợp lệ. Vì browser không cần phải hiểu ý nghĩa của các Tags, nên ta có thể dùng
Tag nào cũng được. Đó là lý do người ta dùng chữ eXtensible (mở rộng thêm được),
nhưng khi dùng chữ để viết tắt thì lại chọn X thay vì e, có lẽ vì X nghe có vẽ kỳ bí, hấp
dẫn hơn.
Chúng ta hãy quan sát kỹ hơn cấu trúc của một XML. Trước hết, Element Order
có Attribute OrderNo với value 1023. Bên trong Element Order có:

Một Child (con) Element OrderDate với value 2002-3-27
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 18 -



Một Child Element Customer với value Peter Collingwood.

Hai Child Elements Item, mỗi Element Item lại chứa một Child Element
ProductID và một Child Element Quantity.
Đôi khi ta để một Element với tên đàng hoàng, nhưng không chứa một value, lý
do là ta muốn dùng nó như một Element Nhiệm ý (Optional), có cũng được, không có
cũng không sao. Cách tự nhiên nhất là gắn cái closing Tag ngay sau opening Tag. Thí
dụ như Empty (trống rỗng) Element MiddleInitial trong Element customer dưới đây:
<Customer>
<FirstName>Stephen</FirstName>

<MiddleInitial></MiddleInitial>
<LastName>King</LastName>
</Customer>
Có một cách khác để biểu diễn Empty Element là bỏ closing Tag và thêm một dấu "/"
(slash) ở cuối openning Tag. Ta có thể viết lại thí dụ customer như sau:
<Customer>

<FirstName>Stephen</FirstName>

<MiddleInitial/>
<LastName>King</LastName>
</Customer>
Dĩ nhiên Empty Element cũng có thể có Attribute như Element PhoneNumber thứ nhì
dưới đây:
<Customer>
<FirstName>Stephen</FirstName>
<MiddleInitial></MiddleInitial>
<LastName>King</LastName>

<PhoneNumber Location="Home">9847 2635</PhoneNumber>
<PhoneNumber Location="Work"></PhoneNumber>
</Customer>

Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 19 -

2.3.2. Biểu diễn Data trong XML:
Một tài liệu XML phải well-formed và valid. Mặc dầu hai từ nầy nghe tờ tợ,
nhưng chúng có ý nghĩa khác nhau. Một XML well-formed là một XML thích hợp cho
parser chế biến. Tức là XML tuân thủ các luật lệ về Tag, Element, Attribute , value
.v.v chứa bên trong để parser có thể nhận diện và phân biệt mọi thứ.
Để ý là một XML well-formed chưa chắc chứa đựng những dữ liệu hữu dụng
trong công việc làm ăn. Là well-formed chỉ có nghĩa là XML có cấu trúc đúng. Để hữu
dụng cho công việc làm ăn, XML chẳng những well-formed mà còn cần phải valid.
Một tài liệu XML valid khi nó chứa những data cần có trong loại tài liệu loại hay class
ấy. Thí dụ một XML đặt hàng có thể bị đòi hỏi phải có một Attribute OrderNo và một
Child Element Orderdate. Parser validate một XML bằng cách kiểm tra data trong
XML xem có đúng như định nghĩa trong một Specification về loại tài liệu XML ấy.
Specification nầy có thể là một Document Type Definition (DTD) hay một Schema.
2.4. DOM và xử lý XML với JAVASCRIPT:
DOM (Document Object Model) là một API (Application Program Interface)
cho tài liệu HTML và XML. Nó cung cấp một bộ khung thể hiện cho tài liệu, cho phép
chỉnh sửa cách thể hiện của phần trực quan bên ngoài và phần nội dung của tài liệu.
Thực chất, DOM kết nối các trang web tới các script hoặc các ngôn ngữ lập trình.
Tất cả các thuộc tính, phương thức, sự kiện để những người phát triển web có
thể vận dụng và tạo các trang web được tổ chức thành các đối tượng. Các đối tượng đó
có thể truy xuất thông qua ngôn ngữ kịch bản trong hầu hết các trình duyệt web.

DOM thường được sử dụng kết hợp với JavaScript. Đó là các đoạn mã được viết
trong JavaScript, nhưng nó sử dụng DOM để truy xuất trang web và thành phần của
trang. Tuy nhiên, DOM được thiết kế để không phụ thuộc vào bất kỳ ngôn ngữ lập
trình nào, tạo bộ khung thể hiện của tài liệu từ một API nhất định. Việc thực thi của
DOM có thể được xây dựng cho bất kỳ ngôn ngữ nào. World Wide Web Consortium
thiết lập DOM chuẩn, được gọi là W3C DOM.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 20 -

DOM là một giao diện trung gian giữa mặt nền và ngôn ngữ cho phép các
chương trình và script truy xuất và cập nhật nội dung, cấu trúc và kiểu dáng tài liệu
động. Tài liệu có thể được xử lý thêm và kết quả của quá trình xử lý đó tổ chức lại vào
trong trang đang thể hiện.
Có 2 cách để lập trình các thành phần trong tài liệu sử dụng code JavaScript:
thông qua tên của thành phần và thông qua node tree. 2 phương pháp này không loại
trừ lẫn nhau, chúng có thể cùng xuất hiện trong cùng script.
Đối tượng window là đối tượng cha của tất cả các đối tượng khác trong DOM.
Ta có thể nghĩ đối tượng window như chính trình duyệt (Internet Explorer hoặc
Netscape Navigator).
Trong khi JavaScript là ngôn ngữ lập trình cho phép thao tác trên các đối tượng
DOM và vận dụng chúng để có thể lập trình, DOM sẽ cung cấp những phương thức và
thuộc tính để truy xuất, chỉnh sửa, cập nhật và xóa các phần của tài liệu đang làm việc.
Ví dụ, ta có thể truy xuất giá trị của textfield HTML như là chuỗi bằng cách sử dụng
DOM. Sau đó ta có thể sử dụng tác vụ “+” của JavaScript nối chuỗi đó với chuỗi khác
để tạo một câu đầy đủ ý nghĩa. Ta nên sử dụng phương thức “alert()” của DOM để hiển
thị chuỗi trong hộp thoại của user. Ví dụ:
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++)

{
alert("Href of " + i + "-th element is : " + anchorTags[i].href + "\n");
}
Màu xanh là JavaScript, màu đỏ là DOM.
Theo thuật ngữ DOM, các thành phần cũng là node (nút). Một nút đại diện cho
một thành phần chung trong cấu trúc kiểu cây. Ví dụ: cây đối tượng DOM được sinh ra
cho thành phần TABLE và các con của nó.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 21 -




Các đối tượng cơ bản:
Để đại diện cho bản chất kiến trúc tầng, DOM cung cấp một tập các đối tượng,
phương thức và tính chất cho phép chúng ta xử lý DOM. Một vài đối tượng cơ bản là:
Đối tượng Mô tả
Node Một nút đơn trong kiến trúc
NodeList Một tập hợp nút
NamedNodeMap Một tập các nút cho phép truy xuất theo tên cũng như chỉ số
Và một số tính chất sau cho phép duyệt qua các nút:
Tính chất Mô tả
childNodes Trả về NodeList chứa các con của nút
firstChild Trả về con đầu tiên của nút hiện hành
lastChild Trả về con cuối cùng của nút hiện hành
parentNode Trả về nút cha của nút hiện hành
previousSibling Trả về nút phía trước cùng mức của nút hiện hành
nextSibling Trả về nút kế cùng mức của nút hiện hành

nodeName Tên của nút
nodeValue Giá trị của nút

+ Các đối tượng DOM đặc trưng: Hầu hết các đối tượng DOM thừa hưởng
những tính chất và phương thức của đối tượng Node, cũng như thêm các tính chất và
phương thức thích hợp với kiểu nút đặc thù.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 22 -

Đối tượng Mô tả
Document Đối tượng gốc của một tài liệu XML
DocumentType Thông tin về DTD hay schema kết hợp với tài liệu XML
DocumentFragment Một bản sao của Document, dùng chứa tạm hay chèn tài liệu
Element Một phần tử tài liệu XML
Attribute hay Attr Một thuộc tính XML
Entity Một thực thể đã phân tính hay chưa phân tích.
EntityReference Một tham trỏ thực thể
Notation Một ghi chú
CharacterData Đối tượng cơ bản của thuộc tính text trong tài liệu
CDATASection Dữ liệu ký tự chưa phân tích
Text Nội dung của một phần tử
Comment Một phần tử chú thích XML
ProcessingInstruction Một chỉ thị xử lý
Implementation Chi tiết cài đặt đặc thù ứng dụng

Các cấp độ DOM:
1. Level 1:
DOM cấp 1 được chia thành 2 phần: Core và HTML. Phần Core DOM1 cung

cấp một tập các giao diện cơ bản cấp thấp. Phần HTML cấp 1 cung cấp thêm các giao
diện cấp cao hơn, sử dụng với giao diện cơ bản ở phần Core cấp 1 để giúp cho cái nhìn
tài liệu HTML thuận lợi hơn. Các giao diện giới thiệu trong DOM1 bao gồm
Document, Node, Attr, Element, Text. Tất cả giao diện chứa các thuộc tính và/hoặc
phương thức sử dụng để tương tác với tài liệu HTML và XML.
2. Level 2:
DOM cấp 2 chứa 6 phần: Core DOM2, View, Event, Style, Traversal và Range,
HTML DOM2. Hầu hết DOM cấp 2 được hỗ trợ trong Mozilla.
3. Level 3:
DOM cấp 3 chứa 5 phần: Core, Load và Save, Validation, Event, XPath.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 23 -

2.5. ASP.NET
2.5.1. Khái quát Asp.net :
ASP.NET là tên mà Microsoft đặt cho việc kết hợp hai dòng triển khai công
nghệ Web : Webforms và Web services.Bằng cách sử dụng ASP.NET, bạn có thể dễ
dàng tạo những ứng dụng web năng động và vận hành theo tình huống, khả dĩ tăng qui
mô, có thể chạy trên nhiều loại browser khác nhau mà khỏi yêu cầu bất cứ lập trình nào
từ phía các nhà triển khai phần mềm.
Được sử dụng phối hợp với Visual Studio. Net, Web Form cho phép bạn áp
dụng kỹ thuật RAD(Rapid Application Development) để xây dựng nhanh những ứng
dụng web. Bạn chỉ cần lôi thả các ô server control lên biểu mẫu, rồi double click lên
một ô control để có thể viết đoạn mã xử lý tình huống được gắn liền với ô control.
Code behind một tính năng mới cho phép tách rời hoàn toàn công đoạn code và
thiết kế. Những trang ASP.NET có thể được viết bằng bất kỳ ngôn ngữ quản lý nào, và
phần code sẽ được dịch để mang đến hiệu quả cao hơn.
Một trong số những tính năng mới của ASP.NET là khả năng có custom

validation được nhúng vào những trang từ tập tin JavaScript (.js), mà phát sinh từ gốc
(root) trên server; ASP.NET có cả một host chứa các validation controls để sử dụng.
Ngoài ra, xương sống của kiến trúc .NET được xây dựng trên XML. Việc sử dụng
XSL/Transform trên dữ liệu XML từ DataSets cung cấp cho người phát triển khả năng
tạo ra nội dung chung nhất cho nhiều clients khác nhau bằng chương trình logic tối
thiểu ở phía trên.
ASP.NET là một cách cực kỳ hiệu quả để đem những ứng dụng đến với Web.
Bỏ qua (Gone) là con đường vô tận của ‘mã rối’ cùng với cách gỡ rối mơ hồ của nó.
Với ASP.NET, chúng ta có thể tạo ra những trình duyệt chéo (cross-browser), ứng
dụng platform chéo (cross-platform applications) để đi xuyên qua Web.
Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 24 -

2.5.2. Kiến trúc ASP.NET :
Trong kiến trúc ASP.NET, .NET Framework làm việc với hệ điều hành hệ
thống. Một web client yêu cầu một tài nguyên Web Form (ASPX), được chuyển đi nhờ
Internet Information Server (IIS) để kết hợp tất cả các tài nguyên bổ sung, bao gồm :
một cơ sở dữ liệu, Web Service, COM component hay một class component. Tất cả
được chuyển đi thông qua bộ dịch assembly (DLL) của ứng dụng Web đặt ở thư mục
bin trong Web root của IIS.





















Hình 1.2.2 : kiến trúc ASP.NET

Thực tập tốt nghiệp GVHD: Lê Thị Bích Hằng

SVTH: Nguyễn Thị Phương Uyên
- 25 -

ASP.NET gồm một số file mở rộng mới cho những loại trang web khác nhau
mà bạn có thể tạo ra theo giải pháp của bạn. Những file mở rộng mới này cho phép
ASP.NET cùng tồn tại với ASP 3.0 trên cùng một server mà vẫn không gặp xung đột
về tên file. Đây là danh sách bốn đuôi file mở rộng thường được sử dụng nhất:
 .aspx : dùng cho Web Forms và là sự thay thế cho chuẩn .asp trong ASP 3.0.
 .ascx: dùng chỉ ra những component và control được dùng lại trong một trang.
 .asmx: dùng chỉ ra một Web Service.
 .asax: dùng cho file toàn cục và là sự thay thế cho chuẩn .asa.
Mỗi loại trang ở trên có thể có một trang code – behind, nơi chứa program logic.
Nên chú ý rằng việc sử dụng những trang code – behind làm cho đoạn code của bạn
modular hơn và giúp giấu program logic khỏi những cặp mắt tò mò, vì những trang

code – behind không phải nằm riêng lẻ trên server mà chúng là một phần của bộ dịch
assembly (DLL).
Tương ứng với những trang code – behind sẽ là .aspx.vb, .ascx.vb, .asmx.vb, và
.asax.vb tách biệt nếu đó là một VB.NET project; hay là .aspx.cs, .ascx.cs, .asmx.cs, và
.asax.cs tách biệt nếu đó là một C# project.
2.5.3.ASP.NET Server control:
Có 3 loại tập hợp chính các controls cho Web Form (trang ASPX): HTML
server controls, Web Server controls và validation controls.
 HTML Server control: cho phép làm việc với tất cả các thuộc tính của các
phần tử HTML chuẩn trong đoạn code phía server (server-side code) (trong trang code
– behind hay trong những server nội tuyến được tạo ra trên trang ASPX).
 Web server control: một tập hợp các controls hoàn toàn mới được thiết kế để
tương tác với môi trường .NET bằng những thuộc tính bổ sung và những sự kiện, đặc
biệt nhất là khả năng tạo một postback. Các nhãn dựa trên XML, do đó chúng đều xuất
hiện trong cùng một phạm vi như các thực thể của XML để dễ sử dụng. Web server
control được mặc định phải đáp lại HTML 3.2 phục vụ cho trình duyệt chéo. Web

×