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

Xây dựng website tìm kiếm việc làm cho tỉnh thái nguyên

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.77 MB, 81 trang )

LỜI CÁM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp, em đã nhận được sự giúp đỡ,
đóng góp ý kiến và chỉ bảo nhiệt tình từ thầy cô, gia đình và bạn bè. Em xin bày tỏ
lòng cảm ơn chân thành về sự giúp đỡ đó.
Em xin gửi lời cảm ơn chân thành đến ThS. Nguyễn Hồng Tân, giảng viên
trường đại học Công Nghệ Thông Tin Và Truyền Thông, anh Đặng Văn Nam
trưởng phòng giải pháp Công Ty Cổ Phần Công Nghệ HiNET Việt Nam đã hướng
dẫn chỉ bảo em trong suốt quá trình làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn các thầy cô giáo trường đại học Công Nghệ
Thông Tin Và Truyền Thông nói chung và các thầy cô giáo bên bộ môn Công
Nghệ Phần Mềm nói riêng đã dậy cho em kiến thức các môn đại cương cũng như
các môn chuyên ngành, giúp em nắm vững được cơ sở lý thuyết và tạo điều kiện
giúp em trong suốt quá trình học tâp.
Cuối cùng, em xin kính chúc các thầy cô trong trường đại học Công Nghệ
Thông Tin Và Truyền Thông sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao
đẹp là truyền đạt lại những kiến thức bổ ích cho thế hệ sau này.
Em xin chân thành cám ơn!
SINH VIÊN THỰC HIỆN

1


LỜI CAM ĐOAN
Em xin cam đoan toàn bộ nội dung trong thực tập này là do tự em đọc và
nghiên cứu các tài liệu, khảo sát các trang tin tức hiện nay . Từ đó viết ra cơ sở lý
thuyết và xây dựng chương trình website tìm kiếm việc làm cho tỉnh Thái Nguyên.
Người cam đoan

Đỗ Xuân Đạt

2




MỤC LỤC
LỜI CÁM ƠN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
LỜI CAM ĐOAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
MỞ ĐẦU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
CHƯƠNG 1: TỔNG QUAN VỀ ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1. Tổng quân về ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1. Giới thiệu chung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Phân loại . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3. HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.4. Giới thiệu về ngôn ngữ ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.5. Cách thức làm việc của ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2. ASP.NET MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.1. Giới thiệu mô hình MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.2. MÔ HÌNH MVC TRONG ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.2.3. So sánh ASP.NET MVC với ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.2.4. Cài đặt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.2.5. Bảo mật trong ASP.NET MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3. TỔNG QUAN VỀ SQL SERVER 2014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.1. Toàn cảnh về nền tảng dữ liệu của SQL Server 2014 . . . . . . . . . . . . . . . . 39
1.3.2. Những điểm mới trong SQL Server 2014 . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.3. Nền tảng tin cậy cho dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.3.4. Nền tảng phân tích có khả năng mở rộng. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.3.5. Việc lưu trữ dữ liệu kế tiếp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
CHƯƠNG II: PHÂN TÍCH KHẢO SÁT HỆ THỐNG. . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1. Khảo sát. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.1. Mô tả bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.2. Yêu cầu hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3



2.2. Phân tích hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1. Quy trình nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2. Yêu cầu hệ thông thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3. Các chức năng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.1. Xác định chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.2. Đặc tả chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4. Biểu đồ use-case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5. Biểu đồ trình tự. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CHƯƠNG III: CHƯƠNG TRÌNH DEMO WEBSITE TÌM KIẾM VIỆC LÀM
CHO TỈNH THÁI NGUYÊN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1. Trang chủ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2. Hiển thị chi tiết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3. Trang đăng nhập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4. Trang đăng ký . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5. Đăng nhập Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6. Trang chủ Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4


DANH MỤC HÌNH ẢNH
Hình 1.1. hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Hình 1.2. Cách thức của một HTTP request được xử lý trên server. . . . . . . . . . . . . 19
Hình 1.3. Các thành phần chính của mô hình MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Hình 1.4. Mô hình tuần tự của MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Hình 1.5. Mô hình MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Hình 1.6. Mô hình ASP.NET Webform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Hình 1.7. Nền tảng Asp.Net MVC Framwork. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Hình 1.9. Giao diện tạo project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Hình 1.10 Giao diện Solution của MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Hình 2.1. Quy trình nhà tuyển dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hình 2.2. Quy trình người tìm việc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Hình 2.3. Biểu đồ UC người tìm việc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 2.4. Biểu đồ UC cho nhà tuyển dụng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 2.5. Biểu đồ UC cho quyền admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Hình 2.6. Biểu đồ UC quản lý nhà tuyển dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Hình 2.7. Biểu đồ UC quản lý người tìm việc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Hình 2.8. biểu đồ trình tự UC đăng nhập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Hình 2.9. Biểu đồ tình tự UC đăng ký . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Hình 2.10. Biểu đồ UC xem tin tức. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Hình 2.11. Biểu đồ UC xóa tin tức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Hình 2.12. biểu đồ UC chỉnh sửa thành viên. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Hình 2.13. Biểu đồ UC thêm bài viết mới . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Hình 3.1 trang chủ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Hình 3.2 hiển thị chi tiết. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Hình 3.3 trang đang nhập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5


Hình 3.4 trang đăng ký . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Hình 3.5 đăng nhập Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Hình 3.6 trang chủ Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
MỞ ĐẦU
Hiện nay Internet là một công cụ, một môi trường làm việc và liên kết mọi
người trên thế giới lại với nhau. Internet có mặt khắp nơi và hỗ trợ con người vào
nhiều lĩnh vực.
Tìm kiếm việc làm là ứng viên trên Internet là một loại hình được đa số

người tìm việc và nhà tuyển dụng quan tâm nó vừa đỡ mát thời gian và tiền bạc.
Khi một công ty muốn tuyển dụng cho công ty mình một vị trí nào đó có lẽ
việc liên lạc đến các công ty cung cấp nhân lực, hay nói nôm na là công ty săn đầu
người chuyên cung cấp những ứng viên đủ trình độ đáp ứng yêu cầu công ty đặt ra.
Hoặc có thể đặng lên báo đài để cho mọi người biết đến.
Khi một ứng viên muốn tìn việc làm họ thường lục tìm các thông tin tuyển
dụng trên báo, hoặc họ đi đến một trung tâm giới thiệu việc làm, hoặc tham gia các
cuộc hội thảo, hội chợ việc làm để kiếm việc làm cho mình.
Tìm kiếm ứng viên cho nhà tuyển dụng và việc làm cho ứng viên trên mạng
Internet hiện nay là một mo hình mới mẻ tại Viết Nam. Vấn đề chúng ta đặt ra là
làm thế nào để hỗ trợ ứng viên tìm việc và hỗ trợ nhà tuyển dụng tìm ứng viên vừa
ý.
Trong xu hướng phát triển hiện nay, Internet đã không còn xa lạ với rất
nhiều người rất nhiều thành phần khác nhau trong xã hội. Nó là một công cụ, một
môi trường làm việc và liên kết mọi người trên thế giới lại với nhau. Internet có
mặt khắp nơi và hỗ trợ con người vào nhiều lĩnh vực.
Chính khả năng mạnh mẽ đó dã đem đến khả năng tiềm tàng cho việc xây
dựng một hệ thống “MẠNG VIỆC LÀM” (đang còn bước những bước lẫm chẫm
đầu tiên tại Việt nam).
Không còn quá xa lạ nhưng cũng không thật chắc chắn, rất nhiều công ty,
6


doanh nghiệp có cung cấp các dịch vụ việc làm đã tự xây dựng cho mình các
website nhằm thực hiện chiến lược thương mại điện tử của mình. Tùy nhiên, rất
hiều website trong số này đã không mang lại hiệu quả đầu tư xứng đáng.
Vậy vấn đề ở đâu? Trước hết, đó là sự thiếu hiệu quả trong công tác quản lý
nội dung thông tin của website, thông tin không được cập nhập thường xuyên dẫn
đến nội dung nghèo nàn và hậu quả cửa nó là không thu hút được sự truy cập của
khách hàng. Thứ hai đó chính là khả năng quản lý và công tác quản bá cho website

của mình đối với nhiều doanh nghiệp vẫn là vấn đề nam giải do kinh nghiệm cũng
như kỹ năng quản lý còn thiếu, yếu...
Qua khảo sát thực tế cùng với mong muốn hỗ trợ các nhà cung cấp dịch vụ
việc làm cũng như những người có nhu cầu sử dụng các dịch vụ việc làm một cách
hiệu quả, tạo sự thuận tiện trong giao diện cũng như giảm được sự đầu tư không
hiệu quả cho các website của công ty, doanh nghiệp. Em đã cố gắng tìm hiểu và
xây dựng website “MẠNG VIỆC LÀM”.
Mặc dù đây là một nội dung không mới và cũng đã có rất nhiều webstie hỗ
trợ các dịch vụ này. Nhưng cách giải quyết vấn đề thì hoàn toàn mới bởi hệ thống
được xây dựng trên nền tảng hỗ trợ đa người dùng với phương thức hoạt động của
một mô hình cổng thông tin điện tử. Đây chính là điểu mà nhiều website với
phương thức hoạt động truyển thống chưa làm được.

7


8


CHƯƠNG 1: TỔNG QUAN VỀ ASP.NET
 Tổng quân về ASP.NET

 Giới thiệu chung
Internet là mạng của máy tính trên toàn cầu được thành lập từ những năm
80 bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ.
Vào mạng Internet, bạn có thể tìm thấy nhiều tài liệu để nghiên cứu, học
tập, trao đổi thư từ, đặt hàng, mua bán,...Một trong những mục tiêu của Internet là
chia sẻ thông tin giữa những người dùng trên nhiều lĩnh vực khác nhau.
Mỗi máy tính trên Internet được gọi là một host. Mỗi host có khả năng như
nhau về truyền thông tới máy khác trên Internet. Một số host được nối tới mạng

bằng đường nối Dial-up (quay số) tạm thời, số khác được nối bằng đường nối
mạng thật sự 100% (như Ethernet, Tokenring,..).

 Phân loại
Các máy tính trên mạng được chia làm 3 nhóm Client và Server.
 Client: Máy khách trên mạng, chứa các chương trình Client.
 Server: Máy phục vụ-Máy chủ. Chứa các chương trình Server, tài
nguyên (tập tin, tài liệu... ) dùng chung cho nhiều máy khách. Server luôn ở trạng
thái chờ yêu cầu và đáp ứng yêu cầu của Client.
 Internet Server: Là những server cung cấp các dịch vụ Internet như
Web Server, Mail Server, FPT Server,...
Các dịch vụ thường dùng trên Internet:
 Dịch vụ World Wide Web (gọi tắt là Web)
 Dịch vụ Electronic Mail (viết tắt là Email)
 Dịch vụ FPT
Để truyền thông với những máy tính khác, mọi máy tính trên Internet phải
hỗ trợ giao thức chung TCP/IP (Transmission Control Protocol/ Internet Protocol9


là giao thức điều khiển truyền dữ liệu và giao thức Internet), là một giao thức đồng
bộ, cho truyền thông điệp từ nhiều nguồn và tới nhiều đích khác nhau. Ví dụ có thể
vừa lấy thư từ trong hộp thư, đồng thời vừa truy cập trang Web. TCP đảm bảo tính
an toàn dữ liệu, IP là giao thức chi phối phương thức vận chuyển dữ liệu trên
Internet.
World Wide Web
Các khái niệm cơ bản về World Wide Web.
World Wide Web (WWW) hay còn gọi là Web là một dịch vụ phổ biến nhất
hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về WWW.
Ngày nay số Website trên thế giới đã đạt tới con số khổng lồ. WWW cho phép bạn
truy xuất thông tin văn bản, hình ảnh, âm thanh, video trên toàn thế giới. Thông qua

Website, các quý công ty có thể giảm thiểu tối đa chi phí in ấn và phân phát tài liệu cho
khách hàng ở nhiều nơi.
Cách tạo trang Web:
Có nhiều cách để tạo trang Web:
 Có thể tạo trang Web trên bất kì chương trình xử lí văn bản nào
 Tạo Web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như:
Notepad, WordPad,... là những chương trình soạn thảo văn bản có sẵn trong
Window.
 Thiết kế bằng cách dùng Web Wizard và công cụ của Word 97, Word 3000.
 Thiết kế Web bằng các phần mềm chuyên nghiệp: FrontPage,
Dreamweaver, Nescape Editor,....Phần mềm chuyên nghiệp như DreamWeaver sẽ
giúp bạn thiết kế trang Web dễ dàng hơn, nhanh chóng hơn, phần lớn mã lệnh
HTML sẽ có sẵn trong phần Code cho bạn.
Để xây dựng một ứng dụng Web hoàn chỉnh và có tính thương mại, bạn cần
kết hợp cả Client Script (kịch bản trình khách) và Server Script (kịch bản trên trình
chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như: MS Access, SQL Server,
MySQL, Oracle,...
10


Khi bạn muốn triển khai ứng dụng Web trên mạng, ngoài các điều kiện về
cấu hình phần cứng, bạn cần có trình chủ Web thường gọi là Web Server.
Trình duyệt Web (Web Client hay Web Browser)
Trình duyệt Web là công cụ truy xuất dữ liệu trên mạng, là phần mềm giao diện
trực tiếp với người sử dụng. Nhiệm vụ của Web Browser là nhận các yêu cầu của
người dùng, gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ liệu cần
thiết từ Server để hiển thị lên màn hình. Để sử dụng dịch vụ WWW, Client cần có 1
chương trình duyệt Web, kết nối vào Internet thông qua một ISP. Các trình duyệt
thông dụng hiện nay là: Microsoft Internet Explorer và Netscape Navigator. Internet
Explorer 5.0 là một trình duyệt chuẩn cho phép trình bày nội dung do Web server cung

cấp, cho phép đăng kí tới bất kì Website nào trên Internet, hỗ trợ trình bày trang Web.
Webserver:
Webserver là một máy tính được nối vào Internet và chạy các phần mềm
được thiết kế. Webserver đóng vai trò một chương trình xử lí các nhiệm vụ xác
định, như tìm trang thích hợp, xử lí tổ hợp dữ liệu, kiểm tra dữ liệu hợp lệ....
Webserver cũng là nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiệm vai trò
Server cung cấp dịch vụ Web. Webserver hỗ trợ các công nghệ khác nhau:
 IIS (Internet Information Service): Hỗ trợ ASP, mở rộng hỗ trợ PHP
 Apache: Hỗ trợ PHP
 Tomcat: Hỗ trợ JSP(Java Servlet Page)
Phân loại Web
 Web tĩnh
Là một trang web mà người dùng không có khả năng tương tác với nó, nó
không yêu cầu cần phải lập trình hay nói một cách khác khi xem một trang web
tĩnh như xem một tờ báo được in trên giấy. Trang web tĩnh dưới dạng các file html,
tất cả những gì vần hiển thị trên trang web thì người thiết kế phải tạo sẵn trang đó.
Là một trang web mà người dùng không có khả năng tương tác với nó, nó
không yêu cầu cần phải lập trình hay nói một cách khác khi xem một trang web
11


tĩnh như xem một tờ báo được in trên giấy. Trang web tĩnh dưới dạng các file html,
tất cả những gì vần hiển thị trên trang web thì người thiết kế phải tạo sẵn trang đó.
Tài liệu được phân phát rất đơn giản từ hệ thống file của Server
Định dạng các trang web tĩnh là các siêu liên kết, các trang định dạng Text,
các hình ảnh đơn giản.
Ưu điểm: CSDL nhỏ nên việc phân phát dữ liệu có hiệu quả rõ ràng, Server
có thể đáp ứng nhu cầu Client một cách nhanh chóng. Ta nên sử dụng Web tĩnh
khi không thay đổi thông tin trên đó.
Nhược điểm: Không đáp ứng được yêu cầu phức tạp của người sử dụng,

không linh hoạt,...
Hoạt động của trang Web tĩnh được thể hiện như sau: Browser gửi yêu cầu
Server trả về dữ liệu
 Web site động
Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu và
được hỗ trợ bởi các phần mềm phát triển web.
Với web động, thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi người
dùng truy vấn tới một trang web. Trang web được gửi tới trình duyệt gồm
những câu chữ, hình ảnh, âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở
nhiều hình thức khác nữa.
Chẳng hạn ứng dụng cơ sở của bạn có chức năng như một công cụ thương
mại điện tử (một cửa hàng trực tuyến) trưng bày catalogue sản phẩm trên website
hay theo dõi kho hàng, khi một mặt hàng được giao, ngay lập tức những trang có
liên quan đến sản phẩm đó phản ánh sự thay đổi này. Những website cơ sở dữ liệu
còn có thể thực hiện những chức năng truyền và xử lý thông tin giữa doanh nghiệp
– doanh nghiệp.
Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như
PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh
như Access, My SQL, MS SQL, Oracle, DB3
12


Thông tin trên web động luôn luôn mới vì nó dễ dàng được bạn thường
xuyên cập nhật thông qua việc Bạn sử dụng các công cụ cập nhật của các phần
mềm quản trị web. Thông tin luôn được cập nhật trong một cơ sở dữ liệu và người
dùng Internet có thể xem những chỉnh sửa đó ngay lập tức. Vì vậy website được hỗ
trợ bởi cơ sở dữ liệu là phương tiện trao đổi thông tin nhanh nhất với người dùng
Internet. Điều dễ nhận thấy là những website thường xuyên được cập nhật sẽ thu
hút nhiều khách hàng tới thăm hơn những web site ít có sự thay đổi về thông tin.
Web động có tính tương tác với người sử dụng cao. Với web động, Bạn

hoàn toàn có thể dễ dàng quản trị nội dung và điều hành website của mình thông
qua các phần mềm hỗ trợ mà không nhất thiết Bạn cần phải có kiến thức nhất
định về ngôn ngữ html, lập trình web. Bạn cũng có thể nhìn nhận vấn đề theo khía
cạnh khác: chẳng hạn bạn đã có sẵn những cơ sở dữ liệu như cơ sở dữ liệu sản
phẩm, nhân sự, khách hàng hay bất kỳ cơ sở dữ liệu nào đó mà bạn muốn đưa thêm
giao diện web vào để người dùng nội bộ hay người dùng Internet đều có thể sử
dụng chương trình chỉ với trình duyệt web của mình.
Tất cả các website Thương mại điện tử, các mạng thương mại, các mạng
thông tin lớn, các website của các tổ chức, doanh nghiệp hoạt động chuyên nghiệp
trên Net đều sử dụng công nghệ web động. Có thể nói web động là website của
giới chuyên nghiệp hoạt động trên môi trường Internet.

 HTML
Trang Web là sự kết hợp giữa văn bản và các thẻ HTML. HTML là chữ viết
tắt của HyperText Markup Language được hội đồng World Wide Web Consortium
(W3C) quy định.Một tập tin HTML chẳng qua là một tập tin bình thường, có
đuôi.html hoặc. htm.
HTML giúp định dạng văn bản trong trang Web nhờ các thẻ. Hơn nữa , các
thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet. Đa
số các thẻ HTML có dạng thẻ đóng mở. Thẻ đóng dùng chung từ lệnh giống như
thẻ mở, nhưng thêm dấu xiên phải (/). Ngôn ngữ HTML qui định cú pháp không
13


phân biệt chữ hoa chữ thường. Ví dụ, có thể khai báo <html> hoặc <HTML>.
Không có khoảng trắng trong định nghĩa thẻ.

 Giới thiệu về ngôn ngữ ASP.NET
ASP là gì?
Hiện tại ASP 3.0 đã và đang trở thành kịch bản được nhiều người sử dụng

để thiết kế ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau. Chúng
được sự hỗ trợ mạnh của ngôn ngữ lập trình C#, VB.NET… và cơ sở dữ liệu SQL
Server 3005 cùng với sự ra đời của công nghệ COM và DCOM, ứng dụng trở nên
hoàn hảo và ưu việt hơn trong quá trình trao đổi thông tin trên mạng Internet và
Intranet.
Tuy nhiên, Microsoft đã và đang nỗ lực cho một công nghệ Web xử lý phía
máy chủ hoàn toàn mới đó là ASP.NET, độc lập với mọi trình duyệt. Điều này có
nghĩa là trình duyệt không cần phải cài đặt bất kỳ công cụ hỗ trợ nào để duyệt
trang Web dạng ASP.NET(.aspx). Với kỹ thuật cho phép mọi thực thi đều nằm
trên trình chủ (Server), có nghĩa là trình duyệt xử lý nhiều vấn đề cùng một lúc cho
nhiều người dùng, chính vì vậy đòi hỏi cấu hình máy chủ có cấu hình mạnh và đòi
hỏi băng thông có khả năng truyền dữ liệu với khối lượng lớn và tốc độ truy cập
nhanh.
ASP.NET được thiết kế tương thích với các phiên bản ASP trước đó. Bạn
có thể triển khai ứng dụng phát triển bằng ASP.NET chung với ứng dụng phát
triển bằng ASP trên cùng một máy chủ mà không cần thay đổi cấu hình của ứng
dụng ASP
Những ngôn ngữ được dùng để viết ASP.NET là VBScript, Jscript, C#. Tùy
thuộc vào khai báo chỉ mục trong đối tượng chỉ dẫn đầu trang ASP.NET, bạn có
thể chỉ rõ ngôn ngữ lập trình bạn sử dụng để xây dựng trang ASP.NET.
Trước hết, tên đầy đủ của ASP.NET là Active Server Pages.NET (.NET ở
đây là .NET framework). Nói đơn giản thì ASP.NET là một công nghệ có tính
cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong
14


tương lai. Bạn lưu ý ở chỗ ASP.NET là một phương pháp tổ chức hay khung tổ
chức (framework) để thiết lập các ứng dụng hết sức hùng mạnh cho mạng dựa trên
CLR(Common Language Runtime) CLR là môi trường được dùng để quản lý sự
thi hành các nguồn mã mà ta đã soạn ra và biên dịch (write and compile code)

trong các ứng dụng.
ASP.NET tích hợp với .NET framework
.Net framework được chia thành bộ các tác vụ cho từng chức năng gồm các
lớp, cấu trúc, các giao diện, và các lõi thành phần chương trình. Trước khi sử dụng
thành phần nào, bạn phải hiểu cơ bản về chức năng, các tổ chức của nó. Mỗi một
trong hàng ngàn các tầng lớp được nhóm theo trình tự logic, thức bậc được học là
namespace. Mỗi namespace cung cấp một tính năng.
ASP.NET là đa ngôn ngữ
Để xây dựng một ứng dụng web chúng ta không chỉ một ngôn ngữ mà có
thể chọn nhiều ngôn ngữ khác. Điều quan trọng là các ngôn ngữ chúng ta chọn mã
của nó dịch được ra mã IL. Điều đó có nghĩa là IL là ngôn ngữ của .NET và chỉ có
CLR nhận biết được IL.
ASP.NET là hướng đối tượng(Object-Oriented)
ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ
.NET. Nó cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việc trên
nguyên lý của HTTP và HTML. Mã nguồn của chúng ta được truy cập toàn bộ các
đối trượng trong .NET Framework nhưng có thể khai thác tất cả các quy ước của
một môi trường OOP (Object Oriented Programming). Chúng ta có thể tạo các lớp,
giao diện, kế thừa các lớp... Chúng ta có thể kiểm soát được các đối tượng trong
chương trình như hiển thị dữ liệu và các sự kiện của đối tượng.
ASP.NET được biên dịch
Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng mã
của C# hoặc VB mà không được biên dịch trước. Một ứng dụng ASP.NET thực sự
được biên dịch thông qua 2 giai đoạn:
15


 Giai đoạn đầu tiên của những các mã (code) bạn viết (C#, VB, hoặc
ngôn ngữ .NET khác) được dịch bởi Microsoft Intermediate Language (MSIL).
Giai đoạn dịch này được tự động khi trang web đầu tiên yêu cầu. Chúng ta có thể

thực hiện dịch trước. Các tệp được dịch thành mã IL (Intermediate Language
Code).
 Giai đoạn tiếp theo được dịch trước khi trang web được thực thi. Tại
giai đoạn này mã IL được dịch thành bản mã máy (Native Machine Code). Giai
đoạn được gọi là Just-In-Time(JIT).


16


ASP.NET được lưu trữ trên máy bởi Common Language Runtime
Khía cạnh quan trọng nhất của công cụ ASP.NET là nó chạy trong môi
trường thời gian thực(Runtime) của CLR. CLR là máy ảo (virtual machine) trong
Microsoft .NET, do có ngôn ngữ trung gian IL nên khi phát triển ứng dụng trên
.NET, chúng ta không bị phụ thuộc vào thiết bị, có nghĩa là theo Microsoft nói thì
ứng dụng trên .NET có thể chạy trên bất kỳ thiết bị có .NET Framework. Tất cả
các namespace, các ứng dụng, các lớp trong bộ .NET Framework được gọi tắt là
bộ quản lý mã. CLR cũng cung cấp các dịch vụ quan trọng khác như:
 Quản lý bộ nhớ.
 Thu nhặt rác.
 Quản lý các tuyến.
 Xử lý ngoại lệ.
 An toàn.
ASP.NET dễ dàng triển khai và cấu hình
Mọi sự cài đặt .NET Framework đều cung cấp các lớp như nhau. Để triển
khai ứng dụng ASP.NET chúng ta chỉ cần sao chép các tập tin vào thư mục ảo trên
máy chủ (server) và máy chủ cần có .NET Framwork.
Việc cấu hình dễ dàng đơn giản không phụ thuộc vào IIS (Internet
Information Services). Cấu hình trong ASP.NET được đặt trong tệp web.config.
Tệp web.config được để cùng với thư mục chứa trang web của chúng ta. Tệp

web.config không bao giờ bị khóa, chúng ta có thể truy cập bất kỳ lúc nào, việc
sửa tệp này hoàn toàn dễ dàng vì chúng được lưu dưới dạng XML.
Công nghệ ASP.NET sẽ hướng các lập trình viên Web vào quỹ đạo của
chúng bằng các lý do sau :
Độc lập ngôn ngữ cho phép bạn không biên dịch ngôn ngữ, thực hiện tối ưu
các ngôn ngữ kết hợp.
Dễ phát triển: ASP.NET cho phép bạn khai báo và viết mã và đơn giản hóa
17


vấn đề.
Tách mã và nội dung ra hai phần khác nhau: Trong mở Web form bạn có
thể khai báo một số thủ tục trên tập tin với các tên mở rộng.
Tính mềm dẻo và khả năng nâng cấp: Cho phép chúng ta quản lý trạng thái
của các Sesion và tạo form trên một ứng dụng sử dụng hệ thống Server.
Hỗ trợ nhiều trình khách có thể tự động nhận dạng trình khách để hiện thị
cho phù hợp
Thay vì sử dụng mô hình DLL, COM, DCOM trước đây, trong trường hợp
ứng dụng sử dụng công nghệ ASP.NET bạn có thể sử dụng dịch vụ tương tự có tên
là Web Services
Ưu điểm của ASP.NET
ASP.NET có nhiều ưu điểm hơn các nền tảng khác khi dùng nó để tạo ứng
dụng Web. Có thể phần lớn những ưu điểm quan trọng của nó đi kèm với các máy
chủ Windows và các công cụ lập trình Windows. Ứng dụng web được tạo bởi
ASP.NET được tạo ra, bắt lỗi và triển khai rất dễ dàng thông qua các tác vụ có thể
thực thi trọn vẹn trong một môi trường phát triển duy nhất - Visual Studio. NET.
Với những nhà phát triển ứng dụng Web, ASP.NET bộc lộ những ưu điểm
sau đây:
 Những phần thực thi được của ứng dụng Web được biên dịch, vì vậy
chúng thực thi nhanh hơn là các kịch bản thông dịch.


18


Hình 1.1. hoạt động
 Các cập nhập ngay lập tức giúp cho việc triển khai các ứng dụng Web
mà không phải khởi động lại máy chủ.
 Truy cập tới .NET Framework, có thể đơn giản hóa nhiều khía cạnh
trong lập trình Windows
 Sử dụng nhiều những hiểu biết về ngôn ngữ lập trình C#, VB, vốn đã
được tăng cường để hỗ trợ lập trình hướng đối tượng.
 Giới thiệu ngôn ngữ lập trình mới mà nó cung cấp khả năng an toàn
kiểu, hướng đối tượng, so với ngôn ngữ lập trình C.
 Tự động quản lý trạng thái để điều khiển trang Web (được gọi là Server
Controls) vì vậy chúng có gì đó giống với các Windows Controls.
 Các tính năng bảo mật được xây dựng sẵn thông qua máy chủ Windows
hoặc thông qua các phương thức xác nhận/phân quyền khác.
 Tích hợp chặt chẽ với ADO.NET để cung cấp các truy xuất CSDL và
các công cụ thiết kế CSDL trực quan trong bộ VS.NET
 Hỗ trợ đầy đủ XML, CSS và các chuẩn Web đã được thiết lập hoặc mới
khác.
 Các tính năng sẵn có để đệm các trang web thường xuyên được yêu cầu
19


trên máy chủ, các nội dung bản địa hóa cho các ngôn ngữ và trao đổi, nhận ra khả
năng tương thích trình duyệt
Giới thiệu về cách thức truy cập dữ liệu
 Tổng quan
Phần lớn các ứng dụng hiện nay đều sử dụng cơ sở dữ liệu. Có nhiều cách

thức truy cập dữ liệu khác nhau trong các công nghệ của Microsoft như ADO,
RDO, DAO, ODBC. Tuy nhiên từ khi .NET Framework ra đời thì công nghệ
ADO.NET đã được tích hợp, ADO.NET chứa các lớp cho phép các ứng dụng
connect data sources ( kết nối với các nguồn dữ liệu), execute commands (thực
hiện các lệnh), manager disconnected data (quản lý dữ liệu đã ngắt kết nối). Với
ADO.NET người lập trình có thể viết ít mã lệnh thao tác cơ sở dữ liệu hơn so với
các công nghệ trước trong các ứng dụng client – server hoặc các ứng dụng trên
desktop.
Mặt khác, trong ASP.NET từ phiên bản .NET Framework 3.0 trở lên có
thêm các thao tác với cơ sở dữ liệu mà không sử dụng ADO.NET như
SqlDataSource, LINQ hoặc profiles.
Ngoài ra các ứng dụng truy cập dữ liệu của .NET Framework còn có thể
truy nhập vào các nguồn dữ liệu như File, Stream, XML, Ajax, web services,
WCF, data services.
 Truy cập dữ liệu ADO.NET
ADO.NET Data Providers cho phép truy cập vào một cơ sở dữ liệu cụ thể,
thực hiện các câu lệnh SQL và nhận dữ liệu. Data provider là chiếc cầu nối giữa
ứng dụng và nguồn dữ liệu. Lớp ADO.NET Data Provider bao gồm các thành
phần: Connection: thực hiện connect tới nguồn cơ sở dữ liệu; Command: thực hiện
một câu lệnh SQL hoặc một store procedures; DataReader: chỉ đọc và nhận dữ liệu
từ một truy vấn; DataAdapter thực hiện 3 nhiệm vụ: điền dữ liệu nhận được vào
một DataSet, có thể ghi nhận sự thay đổi dữ liệu trong DataSet.
 Truy cập dữ liệu XML
20


Dữ liệu XML ngày càng thông dụng và được phát triển mạnh mẽ hơn trước.
Trong các ứng dụng ngày nay, việc sử dụng XML thay cho dữ liệu truyền thống
đang có xu hướng phát triển mạnh mẽ. Tuy nhiên các ứng dựng XML làm cơ sở dữ
liệu vẫn còn ở mức quy mô nhỏ và hạn chế.

 Truy cập dữ liệu với SQLDataSource
SqlDataSource là một thành phần được giới thiệu từ .NET Framework 3.0.
Sử dụng SqlDataSource để truy cập dữ liệu sẽ không cần phải viết mã lệnh lập
trình, chỉ cần khai báo đầy đủ các thuộc tính cần. SqlDataSource chỉ nên dùng khi
không cần sử dụng truy vấn SQL quá phức tạp để thao tác với cơ sở dữ liệu.

 Cách thức làm việc của ASP.NET
Mối quan hệ giữa ASPX File và Code-Behind File
File ASPX sẽ khai báo tên của file code liên kết với nó, và tên class trong
file code mà nó thừa kế. Tuy nhiên, class này chỉ là partial class. File code sẽ chứa
code để hiện thực các chức năng cần thêm vào của trang web, file .aspx sẽ hiện
thực giao diện của người dùng.
Khi client gửi request ASPX file, ASP.NET sẽ tạo 2 classes. Class đầu tiên
là một partial class khác với partial class trong code-behind file, tuy nhiên nó chứa
phần còn lại của partial class này. Khi biên dịch, phần class chứa khai báo web
control sẽ liên kết với partial class khai báo trong code-behind file để tạo
mộtlớphoànthiện.
Lớp thứ hai được sinh ra bởi ASP.NET dựa trên ASPX file để định nghĩa
cách thể hiện trực quan của trang web. Lớp mới này sẽ được thừa kế từ lớp đã
được khai báo trong code-behind file (lớp định nghĩa trang web về mặt luận lý).
Trong lần đầu kích hoạt trang web, lớp này sẽ được biên dịch và một thực thể được
tạo ra. Thực thể này sẽ đại diện cho trang web và tạo ra file XHTML gửi cho
client. Nhiều người dùng có thể cùng sử dụng thực thể này mà không cần biên dịch
lại. Project sẽ dịch lại khi ta thay đổi ứng dụng, những thay đổi này được phát hiện
trong môi trường thực thi.
21


Cách thức vận hành của ASP.NET:


Hình 1.2. Cách thức của một HTTP request được xử lý trên server
Hình trên mô tả cách thức xử lý khi có một HTTP request của client đối với
một .aspx page trên IIS ( Internet Information Service).
Một yêu cầu loại HTTP được gửi đến IIS (INETIFO.EXE), nếu đó là yêu
cầu đối với một .aspx page thì nó sẽ được chuyển đến bộ lọc ISAPI ( thông qua tập
tin aspnet_isapi.dll). Tại đây, bộ lọc sẽ gửi lại yêu cầu đến quá trình xử lý
ASP.NET thông qua một đường ống (named pipe). Tại đây, ASP.NET sẽ tiến hành
kiểm tra, nếu trang web được yêu cầu đã được biên dịch hay chưa. Nếu trang web
này đã được biên dịch thì nó sẽ được load từ bộ nhớ cache và gửi kết quả về cho
client. Ngược lại, nếu đây là yêu cầu đầu tiên đến trang này, ASP.NET sẽ tự động
biên dịch trang này và lưu lại các đoạn mã assembly in thư mục Temporary

22


ASP.NET Files. Bạn có thể tìm thấy thư mục này thông qua đường dẫn sau:
WINDOWS\Microsoft.NET\Framework\v.<version>\
ASP.NET sẽ tự động tham khảo đến các mã assembly có trong thư mục \bin
và nhiều mã assembly khác từ “global assembly cache”.
Class đóng vai trò quan trọng nhất trong quá trình này là class Page. .aspx
page sẽ được chuyển thành một lớp dẫn xuất (derived class), tất cả các nội dung
tĩnh như HTML, các khối render block trong mã ASP.NET sẽ được thể hiện trong
phương thức Render. Class Page cũng đóng vai trò quan trọng trong web form và
server controls.
 ASP.NET MVC

 Giới thiệu mô hình MVC
 Xuất xứ
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và

lập trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên
làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính
và phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox
PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model –
View – Controller).
MVC

được

phát

minh

tại

Xerox

Parc

vào

những

năm

70, bởi TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong
Smalltalk-80. Sau đó trong một thời gian dài hầu như không có thông tin nào về
MVC, ngay cả trong tài liệu 80 Smalltalk. Các giấy tờ quan trọng đầu tiên được
công bố trên MVC là “A Cookbook for Using the Model-View-Controller User
Interface Paradigm in Smalltalk - 80”, bởi Glenn Krasner và Stephen Pope, xuất

bản trong tháng 8 / tháng 9 năm 1988.

 Kiến trúc của mô hình MVC
Trong kiến trúc MVC, một đối tượng đồ
23

họa người

dùng (GUI


Component) bao gồm 3 thành phần cơ bản: Model, View, và Controller.
Model có trách nhiệm đối với toàn bộ dữ liệu cũng như trạng thái của đối
tượng đồ họa. View chính là thể hiện trực quan của Model, hay nói cách khác
chính là giao diện của đối tượng đồ họa. Và Controller điều khiển việc tương
tác giữa đối tượng đồ họa với người sử dụng cũng như những đối tượng khác.

Hình 1.3. Các thành phần chính của mô hình MVC
Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái
của đối tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ
họa. Controller sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi
nào ở xảy ra ở Model, nó sẽ phát thông điệp (broadcast message) thông báo
cho View và Controller biết. Nhận được thông điệp từ Model, View sẽ cập
nhật lại thể hiện của mình, đảm bảo rằng nó luôn là thể hiện trực quan chính
xác của Model. Còn Controller, khi nhận được thông điệp từ Model, sẽ có
những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng
khác.

24



Hình 1.4. Mô hình tuần tự của MVC
Ví dụ:
Lấy ví dụ một GUI Component (thành phần đồ họa người dùng) đơn
giản là Checkbox. Checkbox có thành phần Model để quản lý trạng thái của
nó là check hay uncheck, thành phần View để thể hiện nó với trạng thái
tương ứng lên màn hình, và thành phần Controller để xử lý những sự kiện
khi



sự

tương tác

của người sử dụng hoặc các đối tượng khác lên

Checkbox.
Khi người sử dụng nhấn chuột vào Checkbox, thành phần Controller của
Checkbox sẽ xử lý sự kiện này, yêu cầu thành phần Model thay đổi dữ liệu
trạng thái. Sau khi thay đổi trạng thái, thành phần Model phát thông điệp đến
thành phần View và Controller. Thành phần View của Checkbox nhận được
thông điệp sẽ cập nhật lại thể hiện của Checkbox, phản ánh chính xác trạng
thái Checkbox do Model lưu giữ. Thành phần Controller nhận được thông điệp

25


×