LỜI CẢM ƠN
Sau hai năm học tập ở khoa Công nghệ thông tin trường đại học Bách Khoa
Hà Nội em đã thu hoạch được những kiến thức nhất định. Đợt thực tập này em
được phân công vào nhóm thực tập do thầy Tô Văn Nam phụ trách. Em được thầy
giao cho đề tài nghiên cứu việc “Thiết kế Website và ứng dụng thiết kế chương
trình quản lý văn bản pháp luật”. Mở đầu cho bài thực tập tốt nghiệp này, em
xin gửi lời cảm ơn tới các thầy cô giáo trong khoa và đặc biệt là tới thầy giáo là
người trực tiếp hướng dẫn em thực hiện bài thực tập tốt nghiệp này và đã cho em
những chỉ dẫn quý giá. Thiếu sự giúp đỡ của thầy em không có được kết quả như
ngày hôm nay. Tuy nhiên do khả năng có hạn và thời gian chuẩn bị còn hạn chế,
nên đề tài không tránh khỏi những nhầm lẫn, thiếu sót về mọi mặt. Em mong nhận
được sự đóng góp ý kiến của các thầy cô cũng như của bạn bè để bài thực tập tốt
nghiệp này được hoàn thiện hơn. Được như vậy em xin chân thành cám ơnPHẦN 1: CƠ SỞ LÝ THUYẾT
CHƯƠNG 1
TỔNG QUAN VỀ INTERNET
I. Công nghệ internet
1. Internet và xuất xứ của nó
Internet là một mạng máy tính nối hàng triệu máy tính với nhau trên phạm vi
toàn cầu. Internet có lịch sử rất ngắn, nó có nguồn gốc từ một dự án của Bộ Quốc
Phòng Mỹ có tên là ARPANET vào năm 1969, dự án nhằm thực nghiệm xây dựng
một mạng nối các trung tâm nghiên cứu khoa học và quân sự với nhau. Đến năm
1970 đã có thêm hai mạng: Store-and-forwarrd và ALOHAnet, đến năm 1972 hai
mạng này đã được kết nối với ARPANET. Cũng trong năm 1972 Ray Tomlinson
phát minh ra chương trình thư tín điện tử E-mail. Chương trình này đã nhanh chóng
được ứng dụng rộng rãi để gửi các thông điệp trên mạng phân tán.
Kết nối quốc tế đầu tiên vào ARPANET từ University College of London
(Anh) và Royal Radar Establishment (Na Uy) được thực hiện vào năm 1973. Thành
công vang dội của ARPANET đã làm nó nhanh chóng được phát triển, thu hút hầu
sử dụng loại máy nào và kiểu mạng gì. Để làm được điều đó cần phải có thêm các
máy tính đặc biệt được gọi là các bộ định tuyến (Router) nối các LAN và các WAN
với các kiểu khác nhau lại với nhau. Các máy tính được nối với nhau như vậy cần
phải có chung một giao thức (Protocol) tức là một tập hợp các luật dùng chung qui
định về cách thức truyền tin.
Với sự phát triển mạng như hiện nay thì có rất nhiều giao thức chuẩn ra đời
nhằm đáp ứng nhu cầu phát triển. Các chuẩn giao thức được sử dụng rộng rãi nhất
hiện nay như giao thức TCP/IP, giao thức SNA của IBM, OSIISDN, X.25 hoặc
giao thức LAN to LAN netBIOS. Giao thức được sử dụng rộng rãi nhất hiện nay
trên mạng là TCP/IP. Giao thức này cho phép dữ liệu được gửi dưới dạng các “gói
“ (packet) thông tin nhỏ. Nó chứa hai thành phần, Internet Protocol (IP) và
Transmission Control Protocol (TCP).
Giao thức TCP/IP đảm bảo sự thông suốt việc trao đổi thông tin giữa các máy
tính. Internet hiện nay đang liên kết hàng ngàn máy tính thuộc các công ty, cơ quan
nhà nước, các trung tâm nghiên cứu khoa học, trường đại học, không phân biệt
khoảng cách địa lý trên toàn thế giới. Đó là ngân hàng dữ liệu khổng lồ của nhân
loại.
Một số mạng máy tính bao gồm một máy tính trung tâm (còn gọi là máy chủ)
và nhiều máy trạm khác nối với nó. Các mạng khác kể cả Internet có quy mô lớn
bao gồm nhiều máy chủ cho phép bất kỳ một mạng máy tính nào trong mạng đều
có thể kết nối với các máy khác để trao đổi thông tin.
Một máy tính khi được kết nối với Internet sẽ là một trong số hàng chục triệu
thành viên của mạng khổng lồ này. Vì vậy Internet là mạng máy tính lớn nhất thế
giới hay nó là mạng của các mạng.
3. Các dịch vụ trên Internet
Internet là công nghệ thông tin liên lạc mới, nó tác động sâu sắc vào xã hội,
vào cuộc sống ở mức độ khá bao quát. Nó giúp chúng ta vào một thế giới có tầm
nhìn rộng lớn và chúng ta có thể làm mọi thứ như: viết thư, đọc báo, xem bản tin,
giải trí, tra cứu và hiện nay các công ty có thể kinh doanh thông qua Internet. Dưới
đây chỉ là một số dịch vụ trên Internet:
trình duyệt sẽ sử dụng để hiện các văn bản, các đối tượng Multimedia, và các siêu
liên kết. Người sử dụng có thể dùng chuột để chọn các văn bản được format như
một siêu liên kết trong các tài liệu này. Sau khi liên kết này được chọn, tài liệu mà
nó trỏ tới sẽ được nạp vào máy và hiện lên màn hình.
Một phần tử là một đơn vị cơ sở của HTML. Nó bao gồm một thẻ khởi đầu
(start-tag), một thẻ kết thúc (end-tag), và các ký tự dữ liệu được đặt trong các thẻ
này. Một thẻ bắt đầu bằng một dấu nhỏ hơn (<) và kết thúc bằng một dấu lớn hơn
(>). Thẻ kết thúc phải có thêm một dấu sổ chéo (/) ngay trước tên thẻ. Có một số
thẻ phẩi luôn luôn kết thúc bằng một thẻ phù hợp, còn một số khác lại cho phép bỏ
qua thẻ kết thúc nếu kết quả là rõ ràng và không có sự mập mờ nào cả.
HTML không mô tả trang tài liệu theo như một số ngôn ngữ máy tính khác.
Có những ngôn ngữ mô tả từng phần tử đồ hoạ và vị trí của nó trên trang tài liệu,
bao gồm font chữ, kích cỡ... Ngược lại HTML lại không đưa ra bất cứ mô tả nào về
font, hình ảnh đồ hoạ và chỗ để đặt chúng. HTML chỉ “gán thẻ” cho nội dung tập
tin với những thuộc tính nào đó mà sau đó chúng được xác định bởi chương trình
duyệt để xem tập tin này. Điều này giống như người đánh dấu bằng tay một số
đoạn trên văn bản tài liệu để chỉ cho người thư kí biết những việc cần thiết như:
"chỗ này in đậm", "chỗ này in nghiêng"...
Ví dụ: các thẻ về kích thước chữ
<h1> </h1>
<h2> </h2>
các thẻ về kiểu chữ
<b> </b>
<p> </p>.
HTML gán thẻ cho kiểu chữ, chèn file ảnh đồ hoạ, âm thanh, video vào văn
bản tạo ra mối liên kết và hình thức gọi là siêu văn bản (Hypertext). Siêu văn bản là
đặc tính quan trọng nhất của HTML. Điều này có nghiã là một văn bản hay đồ hoạ
bất kỳ chỗ nào cũng có thể liên kết với một tài liệu khác.
2. Đặc điểm ngôn ngữ HTML
HTML được thiết kế ra để dùng cho Web : trong phần lớn các chương trình xử
Xác định nội dung: Xác định nội dung trang Web là bước quan trọng nhất. Nó
cho phép ta hình dung được công việc sẽ phải làm tiếp theo và xây dựng quy mô
trang chủ, qua đó quy định khuôn khổ công tác thiết kế giao diện và xây dựng trang
HTML. Khi xác định nội dung cần nhận rõ những điểm chính yếu phải giới thiệu
trên trang Web. Những thông tin sẽ giới thiệu phải phân loại theo hai tiêu chí: tính
kế thừa và mức độ quan trọng. Việc xây dựng nội dung cũng phải được định trước
phong cách khác nhau: trang nghiêm hay hài hước cứng rắn hay mềm mại.
Thiết kế sơ đồ hoạt động: Sơ đồ hoạt động là mô hình sắp xếp các nội dung
(được xác định ở bước trên) trong bước này ta sẽ sắp xếp các thông tin cần giới
thiệu theo thứ tự ưu tiên như đã xác định. Công việc sắp xếp bao gồm thứ tự Trên -
Dưới, Trước - Sau, thông tin nào cần được nêu rõ trong một trang Web thành một
phần riêng, thông tin nào có thể mô tả ngay trên trang chủ.
+ Thiết kế giao diện với người xem: Sơ đồ giao diện với người xemlà sơ đồ khái
quát của những gì mà người đến thăm trang chủ của chúng ta sẽ thấy. Giao diện với
người xem được thiết kế theo sơ đồ này. Yêu cầu của giao diện là nêu bật được chủ
đề chính, bố trí các liên kết sao cho hợp lý, phân bố mạng thông tin, đồ hoạ sao cho
cân đối.
Thiết kế và xây dựng chi tiết : công tác thiết kế và xây dựng chi tiết là phần việc
đồ sộ nhất khi xây dựng trang Web. Nó cũng là phần việc đưa ra kết quả cuối cùng,
vì vậy có thể nói đây là công tác quan trọng nhất. Trong công tác thiết kế xây dựng
chi tiết, việc lựa chọn các hình ảnh(để minh hoạ, để làm liên kết)là quan trọng. Đây
chính là cái sẽ gây ấn tượng mạnh nhất đến người xem. Vì vậy thiết kế và lựa chọn
hình ảnh cực kỳ quan trọng
4. Lập trình trang Web động
Khi duyệt các trang Web trên máy, chúng ta thấy rằng các trang Web làm việc
một cách thực sự sinh động, có thể trao đổi thông tin, dịch vụ mua hàng... với các
form nhập dữ liệu và nhận dữ liệu trở về sau khi bấm nút Submit, chúng ta có thể
bấm vào từng phần trong một bức tranh với các liên kết khác nhau, các con số hiển
thị các lần truy cập vào từng trang Web và đặc biệt hơn còn có dịch vụ để truy cập
dữ liệu, tìm kiếm thông tin theo một tiêu chuẩn nào đó. . . Để làm được điều đó
• Khởi tạo: Truy cập để lấy các thông tin của hệ thống, lấy trong biến môi trường
của UNIX hoặc các hệ thống của Window (file *. ini, *. reg). Sau đó nó sẽ nhận
thông tin do Web Server gửi đến.
• Xử lý: quá trình này xử lý thông tin nhận được trên một CSDL
• Trả kết quả: Sau khi xử lý xong, chương trình gửi lại kết quả cho Web Server.
Chương trình kết thúc sau khi trả hết kết quả cho Server.
Có rất nhiều ngôn ngữ được sử dụng để xây dựng chương trình giao tiếp trên
các hệ điều hành hiện nay như UNIX, Maintosh, WindowNT, Window 9x... Tuy
nhiên chọn một ngôn ngữ để xây dựng chương trình giao tiếp ta nên căn cứ vào các
tiêu chuẩn sau:
• Có nhiều câu lệnh thao tác với xâu văn bản
• Khả năng làm việc với các thư viện và các phần mềm ứng dụng khác
• Khả năng truy cập được vào các biến môi trường của chương trình
Các biến môi trường của chương trình giao tiếp (Enviroment variables) các
biến môi trường của chương trình giao tiếp bao gồm các biến chứa thông tin về
máy chủ, máy khách, người sử dụng và một số thông tin phụ. . Dưới đây là liệt kê
một số biến chính sau:
Content - Length: Số byte dữ liệu do gửi đến cho CGI trong STDIN
Content - Type : Kiểu dữ liệu
Logon - User : Tên user login vào mạng
Query - String : Xâu câu hỏi
Gateway - Interface: Cung cấp phiên bản của giao diện
CGI trên Web Server, dạng thức : CGI/ <phiên bản > ví dụ CGI/1. 1
Remote - Addr: Địa chỉ IP của máy Client có yêu cầu
Remote - Host : tên máy yêu cầu
Request - Method : Phương thức yêu cầu POST/GET
URL : Uniform Resource Locator
Truy cập Form nhập dữ liệu : trình duyệt cho phép nhập dữ liệu và chọn các
kiểu thông tin trên Form, khi nhập xong dữ liệu người sử dụng bấm Submit để gửi
thông tin cho Web Server, Web Server có nhiệm vụ truyền các thông tin này cho
file có chứa chương trình ASP, ASP sẽ đọc nội dung file nếu gặp các thẻ chuẩn của
HTML nó sẽ không xử lý nhưng nếu gặp nó các dòng lệnh của ngôn ngữ đặc tả thì
nó sẽ xử lý. Sau quá trình xử lý nó sẽ trộn các kết quả vừa xử lý và các dòng lệnh
HTML chuẩn để gửi về cho chương trình duyệt như một file HTML bình thường
mà bất kỳ một trình duyệt nào cũng hiểu được. Tuy rằng các câu lệnh ASP giống
như một ngôn ngữ lập trình nhưng tính cấu trúc của nó lại không cao. Một ưu điểm
nổi bật của ASP là nó đã tích hợp sẵn các phương thức truy cập CSDL và ngôn ngữ
SQL trong chương trình. Như vậy đối với người lập trình chỉ cần am hiểu các ngôn
ngữ đặc tả thông thường và các khái niệm làm việc với CSDL đều có thể tạo ra
được các ứng dụng tốt. Một đặc điểm khác của ASP có thể tích hợp các ngôn ngữ
mạnh khác như Java, và cả chương trình CGI trong đó.
CHƯƠNG 3
CƠ SỞ DỮ LIỆU VÀ CÁCH TRUY XUẤT CƠ SỞ DỮ LIỆU
1. Khái niệm
Cơ sở dữ liệu là một lĩnh vực rất quan trọng của công nghệ thông tin mà nếu
thiếu nó nhiều vấn đề đặt ra sẽ khó giải quyết được. Cơ sở dữ liệu được định nghĩa
là kho thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm.
Bất kỳ kho thông tin nào đáp ứng được yêu cầu này đều có thể coi là một cơ sở dữ
liệu.
2. Quản trị cơ sở dữ liệu là gì ?
Chương trình quản trị cơ sở dữ liệu là một chương trình ứng dụng trên máy
tính các công cụ để truy tìm, sửa chữa, xoá và chèn thêm dữ liệu. Các chương trình
này cũng có thể dùng để tạo lập một cơ sở dữ liệu và tạo ra các báo cáo, thống kê.
Các chương trình quản trị cơ sở dữ liệu liên quan khá thông dụng hiện nay tại Việt
Nam là Foxpro, Access cho ứng dụng nhỏ, MSSQL và Oracle cho ứng dụng vừa
và lớn.
Quản trị cơ sở dữ liệu quan hệ là một cách quản lý cơ sở dữ liệu trong đó dữ
liệu được lưu trữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể
liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau.
Hệ quản trị cơ sở dữ liệu là một quá trình xử lý xoay quanh các vấn đề sau
Microsoft đã giải quyết vấn đề đó bằng chuẩn ODBC (Open Database
Connectivity). Phát triển ODBC, Microsoft muốn cung cấp một giao diện lập trình
của các ứng dụng (Application Programming Interface - API) duy nhất có thể sử
dụng để truy nhập dữ liệu trên nhiều hệ quản lý cơ sở dữ liệu khác nhauODBC có
hai ưu điểm tận dụng được là:
• ODBC cung cấp một giao diện duy nhất để truy cập đến nhiều cơ sở dữ liệu
khác nhau, nhờ đó giảm bớt thời gian nghiên cứu cơ sở dữ liệu mới cho ác nhà lập
trình và phát triển
• ODBC cho phép phát triển ứng dụng Client độc lập với Server
4. Cấu trúc của ODBC
Cấu trúc của ODBC gồm có bốn thành phần chính sau:
• Application (ứng dụng): là giao diện người sử dụnglàm việc với cơ sở dữ liệu.
Chúng sử dụng API với ODBC để xây dựng mối liên kết đến cơ sở dữ liệu và ứng
dụng các câu lệnh SQL để điều khiển dữ liệu.
• Driver Manager(trình quản lý điều khiển): là trung gian giữa ứng dụng và trình
điều khiển xác định được cần đến để truy cập từng loại cơ sở dữ liệu. Chúng ta hiểu
rằng ứng dụng không đòi hỏi một mối liên kết đến trình điều khiển, thay vì đó nó
đòi hỏi truy cập đến một thứ hợp lý hơn được gọi là
Application
Driver
Driver
Data source
Data Source. Trình điều khiển kết nối nó với một trình điều khiển vật lý và cơ
sở dữ liệu.
• Driver(trình điều khiển): Trình điều khiển thực sự bổ sung ODBC API cho một
hệ thống quản lý cơ sở dữ liệu đặc biệt. Nó xây dựng mối liên hệ đến Server, chịu
sự điều khiển của các query SQL và trả về tập kết quả hay thông báo lỗi cho ứng
dụng.
• Data Source( Nguồn dữ liệu ): Nguồn dữ liệu là thành ngữ được Microsoft sử
dụng để mô tả sự liên kết của hệ quản trị cơ sở dữ liệu. Hệ điều hành từ xa và mạng
ASP là môi trường kịch bản trên máy chủ (Server - Side Scripting Enviroment
ASP ( active server page )
Giới thiệu về ASP: Microsoft Active Server Page là một ứng dụng giúp ta áp
dụng các ngôn ngữ Script để tạo những ưngs dụng động, có tính bảo mật cao và
làm tăng khả năng giao tiếp của chương trình ứng dụng. Các đoạn chương trình nhỏ
được gọi là Script sẽ được nhúng vào các trang của ASP phục vụ cho việc đóng mở
và thao tác với dữ liệu cũng như điều khiển các trang Web tương tác với người
dùng như thế nào. Một khái niệm sau đây liên quan đến ASP
Script: là một dãy các lệnh đặc tả (Script). Một Sript có thể :
• Gán một giá trị cho một biến. Một biến là một tên xác định để lưư giữ dữ liệu,
như một giá trị.
• Chỉ thị cho Web Server gửi trả lại cho trình duyệt một giá trị nào đó, như giá trị
cho một biến. Một chỉ thị trả cho trình duyệt một giá trị là một biểu thức đầu
ra( output expression).
• Tổ hợp của các lệnh được đặt trong các thủ tục. Một số thủ tục là tên gọi tuần tự
của các lệnh và khai báo cho phép hoạt động như một ngôn ngữ( unit)
Ngôn ngữ Script (Script language): là ngôn ngữ trung gian giữa HTML và
ngôn ngữ lập trình JAva, C++, Visual Basic. HTML nói chung được sử dụng để tạo
và kết nối các trang text. Còn ngôn ngữ lập trình được sử dụng để đưa ra dẫy các
lệnh phức tạp cho máy tính. Ngôn ngữ Scripting nằm giữa chúng mặc dù chức năng
của nó giống ngôn ngữ lập trình hơn là các trang HTML đơn giản. Sự khác nhau cơ
bản giữa ngôn ngữ Scripting và ngôn ngữ lập trình là các nguyên tắc của nó ít cứng
nhắc và ít rắc rối khó hiểu hơn. Do vậy, các đoạn chương trình script gọn nhẹ có
thể lồng ngay vào các trang Web.
Công cụ đặc tả (Scripting engine): Để chạy được các loại chương trình Script
thì phải có máy Script engine. Máy này có nhiệm vụ đọc mã nguồn của chương
trình và thực hiện các câu lệnh đó. Mỗi ngôn ngữ Script có một loại máy Script
riêng. VD: VBScript engine cho loại chương trình VBScript, JavScript engine cho
JavaScript.
Có hai ngôn ngữ Script mà ASP hỗ trợ chính là Visual Basic Script và Java
HTML, các ký hiệu ranh giới(<) và(>). Tương tự, các lệnh của Script ASP và các
biểu thức đầu ra được phân biệt giữa text và các trang HTML bằng các phân định
ranh giới ASP sử dụng phân định ranh giới là< %...%> để chứa các lệnh ScriptVD:
<% Sport=”Football”%> tức là gán giá trị football cho biến sport. ASP sử dụng
phân định ranh giới là <%=...%> để chứa các biểu thức đầu ra. Như VD trên, biểu
thức đầu ra <%=Sport%> sẽ gửi giá trị football ( giá trị hiện thời của biến) cho
trình duyệt.
3. Câu lệnh của ASP
Trong VbScript và các ngôn ngữ Scripting, một câu lệnh là đơn vị cú pháp
hoàn chỉnh mô tả một loại của hành động, khai báo, hay định nghĩa.
Sau đây mô tả lệnh IF...Then...Else của VbScript.
<%
If Time>=#10:00:00 AM# And Time<# 12:00:00 PM then
Greeting=”Chào buổi sáng”
Else
Greeting=”Chào bạn”
End if
%>
<Font Face=”. VnTime” color=”Green”>
<%=Greeting %>
</Font>
Với đoạn Script trên, khi người sử dụng nó sẽ xem trước 10 giờ sáng thì trên
trình duyệt xuất hiện dòng: Chào buổi sáng, còn nếu sau 10 giờ thì sẽ thấy Chào
bạn...Các thủ tục trong file ASP: Một đặc tính hấp dẫn của ASP là khả năng kết
hợp chặt chẽ của các thủ tục ngôn ngữ Script trong cùng một file .asp đơn lẻ. Nhờ
vậy, ta có thể sử dụng các điểm cực mạnh của ngôn ngữ Scripting để thực hiện một
cách tốt nhất. Một thủ tục là một nhóm lệnh Script để thi hành một công việc cụ
thể. Ta có thể định nghĩa một thủ tục và gọi sử dụng chúng nhiều lần trong các
Script. Định nghĩa một thủ tục có thể xuất hiện trong Tag<Script>...</Script> và
phải tuân theo các quy tắc của ngôn ngữ Script được khai báo. Thủ tục này có thể
• Form: thu nhặt tất cả các giá trị mà người sử dụng đã tạo ra vào Form khi nút
submit của nó được bấm, nó được truyền về Server với phương thức POST.
Gửi thông tin cho người dùng: Có thể dùng đối tượng Response để điều
khiển thông tin gửi cho Web Browser bằng cách sử dụng:
• Cách thức ResponseContent Type để điều khiển kiểu cả nội dung gửi.
• Cách thức Response. Cookies để thiết lập một giá trị của Cookies.
• Cách thức Response Buffer để đệm thông tin.
• Cách thức ResponseAddHeader để thêm một phần tiêu đề mới vào HTML
header với một số giá trị chọn lọc.
• Cách thức ResponseClear để xóa toàn bộ đệm ra của HTML, cách thức này
chỉ xoá phần thân của response chứ không xoá phần header.
• Cách thức Response. End để kết thúc việc xử lý ở file .asp và gửi cho Web
Browser kết quả thu được khi xảy ra phương thức này.
• Cách thức Response Flush: Khi thông tin được gửi ra bộ đệm kết quả thì nó
chưa được gửi ngay về Web Browser mà chỉ đến khi dùng phương thức này thông
tin mới được trả ngay về Web Browser. Tuy nhiên sẽ bị thông báo lỗi Run_Time
nếu ResponseBuffer chưa đặt giá trị true.
Server là đối tượng điều khiển môi trường hoạt động ASP, nó cung cấp các
phương thức cũng như thuộc tính của Server.
• Phương thức Server. CreatObject dùng để tạo ra các đối tượng mới trên Server.
• Phương thức Server. HTMLEncode cung cấp khả năng mã hoá địa chỉ URL.
• Phương thức Server. MapPath trả về địa chỉ vật lý tương ứng như địa chỉ thư
mục ảo trên máy chủ.
• Phương thức Server. URLEncode cung cấp khả năng mã hóa địa chỉ URL.
Các đối tượng Session và Application: được sử dụng ghi nhớ thông tin trạng
thái của các ứng dụng ASP. Ta có thể sử dụng ASP để duy trì 2 trạng thái:
• Trạng thái ứng dụng (Application State) bao gồm tất cả các thông tin trạng thái
của các ứng dụng có hiệu lực với tất cả người sử dụng ứng dụng. Đối tượng
Application được sử dụng để lưu trữ thông tin chung mà nó có thể chia sẻ cho tất cả
moị người dùng một ứng dụng ASP đơn giản.