Có lẽ đó cũng chính là một động lực khiến các tờ báo giấy - vừa là để cạnh tranh vừa là không thể cưỡng lại xu thế điện tử hóa - cũng đã phải lập tức triển khai phiên bản điện tử, trong
Trang 1Bộ giáo dục và đào tạo
tr-ờng đại học vinh
Khoa CNTT
TèM HIỂU VỀ ASP.NET VÀ XÂY DỰNG
WEBSITE “BÁO ĐIỆN TỬ”
GV h-ớng dẫn: Th.S Nguyễn Quang Ninh
Sinh viên thực hiện : Đinh Thị Thuận
Vinh tháng 4 năm 2008
Trang 2Lời nói đầu Với xu thế phát triển v-ợt bậc của công nghệ thông tin trên toàn thế giới,
ở Việt Nam, Công nghệ thông tin ngày càng đ-ợc áp dụng nhiều hơn trong các
lĩnh vực của đời sống xã hội Mạng thụng tin toàn cầu (Internet) là một trong
những phỏt minh lớn nhất trong lĩnh vực cụng nghệ thụng tin đó và đang phỏt
triển mạnh mẽ, rộng khắp, tỏc động nhiều mặt đến đời sống xó hội của nhõn
loại Nước ta bắt đầu nghiờn cứu và chớnh thức tham gia mạng thụng tin toàn
cầu từ những năm 90 của thế kỷ trước Mấy năm gần dõy, hệ thống thụng tin
đại chỳng ở nước ta cú thờm loại hỡnh bỏo chớ mới là bỏo điện tử
Bỏo điện tử cú tỏc dụng và tiện ớch hơn hẳn cỏc loại hỡnh bỏo chớ truyền
thống, dung lượng thụng tin rất lớn, tương tỏc thụng tin nhanh, phỏt hành
khụng bị trở ngại về khụng gian, thời gian, biờn giới quốc gia Từ khi ra đời,
bỏo điện tử nước ta đó gúp phần quan trọng vào việc nõng cao dõn trớ và thỏa
món nhu cầu thụng tin của tất cả mọi người
Em rất mong đ-ợc sự góp ý của các Thầy Cô và các bạn đặc biệt là thầy
giáo trực tiếp h-ớng dẫn để đề tài của em đ-ợc hoàn thiện hơn
Đ-ợc sự giúp đỡ và chỉ bảo tận tình của giáo viên h-ớng dẫn là Thầy giáo
Nguyễn Quang Ninh nên đề tài của em đã đ-ợc thực hiện hoàn thành
Lời nói đầu 1
Trang 3Mục Lục 2
3.2.2 Trang thêm mới tin tức(AddNew.aspx) 36
3.2.3 Trang thêm mới một nhóm tin(AddCategory.aspx) 36
3.2.4.Trang thêm mới một tài khoản(AddAccount.aspx) 37
3.2.5 Trang thay đổi mật khẩu(ChangePassword.aspx) 37
3.2.6 Trang quản trị các nhóm tin(CategoryManage.aspx) 38
3.2.7 Trang quản trị các tài khoản(Account.aspx) 38
PHẦN I : TỔNG QUAN VỀ ĐỀ TÀI
Trang 41.1.Thực trạng về báo điện tử
Một khảo sát lần đầu tiên về độc giả Internet của hãng dịch vụ thống kê
truy cập Nielsen/NetRatings công bố mới đây cho thấy 1/5 số người lướt web
thích đọc báo mạng hơn các phiên bản phi trực tuyến Có lẽ đó cũng chính là
một động lực khiến các tờ báo giấy - vừa là để cạnh tranh vừa là không thể
cưỡng lại xu thế điện tử hóa - cũng đã phải lập tức triển khai phiên bản điện tử,
trong đó phần lớn phát hành lại các bài báo từ bản giấy và có cập nhật thêm
thông tin riêng
Cùng với sự phát triển chóng mặt của các công nghệ kết nối, giúp đẩy
nhanh tốc độ truy tải, số lượng các tờ báo điện tử cũng nở rộ khắp nơi trên thế
giới, truyền tải thông tin dưới mọi hình thức mà các loại báo truyền thống cung
cấp Có thể coi báo điện tử hiện nay là sự hội tụ của cả báo giấy (text), báo
tiếng (audio) và báo hình (video) Người lướt web không chỉ được cập nhật tin
tức dưới dạng chữ viết mà còn có thể nghe rất nhiều kênh phát thanh và xem
truyền hình ngay trên các website báo chí
Khi khái niệm báo điện tử định hình cũng là lúc vấn đề miễn phí hay thu
phí thông tin được đặt ra Theo logic thông thường, mọi dịch vụ đều phải được
ai đó trả tiền Và với báo trực tuyến, nguồn tiền đó được thu chủ yếu từ việc
quảng cáo, còn thông tin hầu hết được cung cấp miễn phí Tuy nhiên, một số tờ
báo lớn trên thế giới vẫn áp dụng thu phí trọn gói cả tháng Một số khác chỉ
tính tiền đối với những tin bài đặc sắc, độc quyền
Công nghệ đã cho phép báo điện tử ra đời và ngược lại, chính báo điện
tử cũng thúc đẩy sự phát triển của các công nghệ mới Những trình duyệt phiên
bản mới liên tục được cải tiến để có thể tích hợp các tính năng truyền thông đa
phương tiện Điện thoại di động cũng được nâng cấp để có thể truy cập web
tiện lợi hơn và khai thác thông tin trực tuyến Các nhà phát hành nội dung cũng
như các công ty dịch vụ kết nối và viễn thông cũng nhanh chóng đáp ứng nhu
cầu đọc thông tin trên thiết bị liên lạc di động bằng cách thiết lập những định
dạng web phù hợp cho các công cụ này Sự phát triển của báo chí điện tử cũng
là một động lực thúc đẩy hoạt động thương mại điện tử khi tạo ra một môi
Trang 5trường mới cho ngành công nghiệp quảng cáo phát huy những phương cách
quảng bá thông tin thương mại muôn hình vạn trạng
Trong sự phát triển của báo điện tử không thể không nhắc tới vai trò to
lớn của các dịch vụ tìm kiếm trực tuyến với những cái tên đã trở thành một từ
không thể thiếu đối với những người thường xuyên khai thác thông tin trên
mạng, như công cụ của Yahoo, Google, MSN Những dịch vụ search này đang
liên tục mở rộng tiện ích, không chỉ đem đến một cổng thông tin tổng hợp
nhiều nguồn mà còn là một bộ dẫn hướng cực mạnh giúp người sử dụng tiếp
cận không chỉ những nội dung dạng text mà cả hình ảnh và video
1.2 Lý do chọn đề tài
Hiện nay các báo điện tử của nước ta còn một số hạn chế, yếu kém Tính
tư tưởng, tính định hướng chính trị, tính chiến đấu, tính khoa học, tính chuyên
nghiệp ở một số tờ báo điện tử chưa cao Một số báo thiếu cân nhắc khi đưa tin,
bài về các vấn đề trong nước và thiếu chọn lọc khi khai thác tư liệu Ở một số
cơ sở dịch vụ Internet, còn để xảy ra tình trạng lưu hành, phát tán các thông tin
phản động, đồi trụy, vu khống, bôi nhọ danh dự cá nhân, gây bất bình trong
nhân dân Vì vậy cần phải xây dựng các tờ báo điện tử ở nước ta có kỹ thuật và
công nghệ hiện đại, đúng đắn, chân thực, phong phú về nội dung, sằc bén về
tính định hướng, tính nghiệp vụ cao Báo điện tử phải được phát triển nhanh,
vững chắc, có hiệu quả, phù hợp với điều kiện cụ thể về kinh tế, kỹ thuật, con
người, năng lực quản lý, đảm bảo an ninh, an toàn, kết hợp hài hòa với việc
phát triển các loại hình báo chí và các phương tiện thông tin khác
Vì vậy, tôi mạnh dạn chọn đề tài “Tìm hiểu ASP.NET và xây dựng
website Báo điện tử” làm khoá luận tốt nghiệp
1.3 Nhiệm vụ của đề tài
Để hoàn thành tốt nhiệm vụ, mục tiêu mà đề tài của đề tài đã đặt ra,
chúng tôi cần phải tiến hành các công việc sau:
Trước hết cần phải tìm hiểu cơ sở lý luận cho việc xây dựng một trang
web
Tích cực tìm kiếm, khai thác thông tin
Tìm hiểu các hệ quản trị cơ sở dữ liệu hiện nay
Trang 6 Tìm hiểu các ngôn ngữ lập trình, trợ giúp cho sử phát triển
Tiến hành xây chương trình: Phân tích, thiết kế và lập trình chương trình
1.4 Phương pháp nghiên cứu
Để thực hiện các công việc, mục tiêu trên, chúng tôi đã sử dụng các
phương phát nghiên cứu:
Phương pháp phân tích và tổng hợp lý thuyết
Phương pháp nghiên cứu tài liệu
Tích cực lướt web
1.5 Quy trình của hệ thống
Bản tin là một sản phẩm mang đầy tính thời sự và có chất lượng cao cả
về nội dung và trình độ dịch thuật Dưới đây là quy trình sản xuất và phát hành
bản tin:
Not OK
OK Not OK
Lấy tin
Phát hành tin trên Web
Phân công biên tập tin
Duyệt
Duyệt Biên tập tin
Trang 7Bộ phận lấy tin sẽ tìm, chọn lọc và đưa lên hệ thống bản tin các tin tức
nổi bật nhất, nóng hổi nhất và được quan tâm nhiều nhất Tiếp theo Trưởng bộ
phận biên tập tin có nhiệm vụ phân công cho các thành viên biên tập tin các tin
đã được dịch và đã được trưởng bộ phận dịch tin duyệt Các thành viên bộ phận
biên tập tin có nhiệm vụ biên tập các bản tin đã được dịch và đưa ra chú thích
cho các tin tương ứng theo sự phân công của trưởng bộ phận biên tập tin
Khi tin đã dịch được biên tập xong và đưa lên hệ thống, trưởng bộ phận
biên tập tin cần duyệt việc biên tập tin đó để bộ phận phát hành tin thực hiện
công việc tiếp theo
Sau khi các tin tức đã được duyệt và biên tập hoàn chỉnh, bộ phận phát
hành tin có nhiệm vụ phát hành bản tin theo sự phân công của trưởng bộ phận
phát hành tin Sau khi việc phát hành được hoàn thành, trưởng bộ phận phát
hành kiểm tra và duyệt trên hệ thống là bản tin tuần đã được phát hành thành
công
Trang 8PHẦN II: GIỚI THIỆU VỀ ASP.NET, C#, SQL Sever 2000
2.1 Giới thiệu về Asp.Net
2.1.1 Giới thiệu
ASP.NET là phiờn bản kế tiếp của Active Server Page (ASP); nú là một
nền phỏt triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho
lập trỡnh viờn xõy dựng cỏc lớp ứng dụng chuyờn nghiệp Cỳ phỏp ASP.NET
tượng thớch với cỳ phỏp ASP, ngoài ra ASP.NET cũn cung cấp một mụ hỡnh
lập trỡnh mới, nền tảng an toàn, linh hoạt và ổn định
ASP.NET là biờn dịch, dựa trờn mụi trường NET và cú thể xõy dựng
bằng bất cứ ngụn ngữ nào tương thớch NET, bao gồm Visual Basic NET, C#,
and JScript NET Ngoài ra, toàn bộ thư viện NET Framework cú thể sử dụng
với ứng dụng ASP.NET, lập trỡnh viờn tận dụng dễ dàng những lợi ớch của cỏc
kỹ thuật được cung cấp, bao gồm quản lý mụi trường thực thi, kế thừa v.v
ASP.NET được thiết kế làm việc với cỏc trỡnh soạn thảo WYSIWYG
HTML đi kốm và cỏc cụng cụ lập trỡnh khỏc được đưa vào trong Microsoft
Visual NET Tất cả cỏc cụng cụ này khụng phài chỉ dựng để phỏt triển ứng
dụng Web được dễ dàng, tuy nhiờn cú thể sử dụng một vài chức năng thụng
thường cho ứng dụng Web, bao gồm một GUI cho phộp lập trỡnh viờn cú thể dễ
dàng đặt cỏc server control vào trang web và một trỡnh debug rất mạnh mẽ
ASP.NET tạo ra những chương trỡnh dễ sử dụng và gần gủi với lập trỡnh
viờn ASP và sẳn sàng tương thớch với tất cả cỏc giao diện lập trỡnh NET
Framework khỏc Ngoài ra ASP.NET cũn cung cấp khả năng mở rộng cho lập
trỡnh viờn cú thể tối ưu húa ứng dụng trong một vài trường hợp.Tạo được cỏc
cõu lệnh debug cho trang web, nú rất hữu ớch trong khi giói quyết sự cố
2.1.2 Lý do chọn ASP.NET?
Ta đã biết NET Framework và các ứng dụng của nó đã và đang tạo một
cuộc cách mạng kỹ thuật trong công nghệ Tin Học (Information Technology),
thay đổi tận gốc rễ các kiểu mẫu lập trình hay phát triển và triển khai mạng trên
thế giới và do đó tạo một vận hội mới đáp ứng mọi yêu cầu khẩn thiết cho các
ngành nghề kỹ thuật và th-ơng mại hiện nay cũng nh- vạch một h-ớng đi vững
chắc và dài lâu cho t-ơng lai Tin Học ASP.NET chính là một trong những ứng
Trang 9dụng quan trọng nhất để phát triển và triển khai mạng một cách dễ dàng ch-a
từng thấy từ x-a đến nay
Không nh- ASP kiểu cổ điển chỉ giới hạn với VBScripts và JScripts,
ASP.NET hỗ trợ trên 25 ngôn ngữ lập trình (dĩ nhiên ngoài các ngôn ngữ mới
thiết lập đã cài sẵn hỗ trợ NET framework nh- là VB.NET, C# và JScript.NET
còn có MC++.NET, Smalltalk.NET, COBOL.NET )
Mặc dù ta có thể chỉ cần dùng tới Notepad để triển khai các trang
ASP.NET nh-ng Visual Studio.NET giúp năng suất triển khai mạng thêm phần
hiệu quả, ta có thể quan sát các kế hoạch của ta dễ dàng hơn khi phác họa
(design) các thành phần của ASP.NET bằng hình ảnh với ASP.NET Web Forms
hay Services theo ph-ơng pháp nhấn đúp chuột quen thuộc của nền Windows
Thêm nữa, lại còn hỗ trợ ta trong việc phát hiện và loại bỏ những lỗi sai một
cách rất thuận lợi trong khi phát triển các ứng dụng về mạng (support for
debugging and deploying ASP.NET Web applications)
ASP.NET không những chạy nhanh hơn ASP cổ điển gấp 5 lần mà còn có
thể duy trì kiểu mẫu cập nhật gọi là kiểu mẫu 'just hit save', nghĩa là ASP.NET
tự động dò tìm mọi sự thay đổi và compile files khi cần thiết cũng nh- l-u trữ
kết quả compile đó để cung ứng dịch vụ cho những yêu cầu tiếp theo sau, nhờ
vậy ứng dụng của bạn luôn luôn cập nhật hóa và chạy nhanh hơn cả
ASP.NET có khả năng l-u trữ một kết quả chung trong phân bộ memory
của trang để gửi giải đáp cho cùng một yêu cầu từ nhiều khách hàng khác nhau
và nhờ đó không những tiết kiệm đ-ợc sự lập đi lập lại công tác thi hành của
một trang web mà còn gia tăng hiệu suất một cách ngoạn mục do giới hạn tối đa
việc chất vấn các cơ sở dữ liệu (eliminating the need to query the database on
every request) rất tốn nhiều thời gian
ASP.NET cũng có khả năng tự động dò tìm và phục hồi (detects and
recovers) những trở ngại nghiêm trọng nh- deadlocks hay bộ nhớ (memory) bị
rỉ để bảo đảm ứng dụng của bạn luôn luôn sẵn sàng khi dùng mà không làm cản
trở việc cung ứng dịch vụ cần thiết th-ờng lệ
ASP.NET cho phép ta tự động cập nhật hóa (update) các thành phần đã
compiled (compiled components) mà không cần phải khởi động lại (re-start)
các Web Server
Trang 102.1.3 Cấu hình ASP.NET
Đặc điểm hệ thống cấu hình của ASP.NET là một thành phần có thể mở
rộng được, cho phép định nghĩa những thiết lập hệ thống khi triễn khai ứng
dụng ASP.NET lần đầu tiên, sau đó có thể thêm, sửa lại những thiết lập cấu
hình tại bất cứ thời điểm nào với một sự tác động nhỏ trên các ứng dụng Web
và các Server
Hệ thống cấu hình của ASP.NET mang lại các lợi ích sau:
Thông tin cấu hình được lưu trữ trong tập tin XML chuẫn, cho nên,
có thể sử dụng các trình soạn thảo văn bản chuẫn (notepad) hoặc
các ứng dụng phân tích XML (XML Parser) để tạo và hiệu chỉnh nó
một cách khá dễ dàng
Có nhiều tập tin cấu hình, tất cả đều được đặt tên là Web.config, có
thể xuất hiện trong nhiều thư mục của một ứng dụng Server
ASP.NET Mỗi tập tin cấu hình áp dụng những thiết lập cấu hình
cho thư mục chứa nó và những thư mục con bên dưới nó
Trong khi chạy, ASP.NET sử dụng thông tin cấu hình được cung
cấp trong cấu trúc phân cấp của thư mục ảo để tính ra một thiết lập
tổng hợp cho mỗi nguồn lực duy nhất Chú ý, hệ thống phân cấu thư
mục ở đây là hệ thống thư mục ảo của IIS, không liên quan đến hệ
thống thư mục thường được quản lý bởi hệ điều hành
ASP.NET tự động dò tìm những thay đổi trong các tập tin thiết lập
cấu hình và tự động áp dụng những thiết lập cấu hình mới cho
những trang Web có liên quan
Hệ thống cấu hình của ASP.NET cho phép mở rộng, có thể thêm
vào các thông số cấu hình (configuration parameters), và tạo các
vùng điều khiển cấu hình (configuration section handlers) để xử lý
chúng
ASP.NET bảo vệ các tập tin cấu hình từ sự truy cập từ bên ngoài
bằng cách cấu hình IIS ngăn cản truy cập trực tiếp từ Browse đến
các tập tin cấu hình Mã lỗi 403 sẽ được trã về cho bất kỳ sự truy
cập trực tiếp nào
Trang 11Tập tin cấu hình Web.config như sau:
<?xmlversion="1.0"?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<section name="dataConfiguration"
<paramname="File"value="logs\\TINTUC.txt"/>
<paramname="AppendToFile"value="true"/>
<paramname="RollingStyle"value="Size"/>
<paramname="MaxSizeRollBackups"value="10"/>
<paramname="MaximumFileSize"value="1MB"/>
<paramname="StaticLogFileName"value="true"/>
<layout type="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d [%t]
%-5p %c - %m%n"/>
</layout>
</appender>
<root>
Trang 12<levelvalue="DEBUG"/>
<appender-ref ref="RollingFileAppender"/>
PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<authentication mode="Forms"/>
-Trao đổi thông tin giữa Client và Server
- Dạng QueryString: Gửi thông tin kèm vào phần đuôi của URL
Response:
Cho phép Server đáp ứng, trả lời hay thông tin với client
Phương thức Write, Writeln: Viết dòng chữ
Phương thức Redirect: Chuyển qua trang khác
Response.Rediredt("http://www.Dantri.Com.vn");
Session:
Trang 13Khi Client đó nhận được thụng tin từ Server, quỏ trỡnh trao đổi kết
thỳc, khụng cú liờn lạc giữa Server và client
Để lưu lại cấu hỡnh cần thiết cho những xử lý sau đú, chỳng ta cần
đến Session object
Sau khi người dựng kết thỳc phiờn làm việc (đúng trỡnh duyệt hoặc
sang một Website khỏc) thỡ Session mới kết thỳc
Quỏ trỡnh gửi và nhận yờu cầu ở Client và Server
- Phớa Client yờu cầu một trang web: Request
Phớa Web server đỏp lại bằng cỏch gửi web page theo dạng HTML về cho trỡnh
duyệt : Response
2.1.4 Mô hình phát triển ứng dụng ASP.NET 2.0
Khi thực thi với ASP.NET, chúng ta có nhiều cách để lựa chọn môi
tr-ờng phát triển ứng dụng Web ở đây ta sử dụng ngôn ngữ lập trình C#
Trang 14Visual Studio 2005 cũng hỗ trợ mô hình code-behind cho phép tách phần
mã và giao diện thành hai phần riêng biệt, giúp chúng ta làm việc trên hai phần
Trong khi đó, tập tin ứng với phần khai báo giao diện của trang
Default.aspx sẽ có cấu trúc nh- sau:
<%@ Page Language="C#"AutoEventWireup="true"
CodeFile="Default.aspx.cs"Inherits="_Default" %>
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"runat="server">
<title>Trang chủ </title>
</head>
Trang 15<td align="center"style="width: 100px">
Phần trình bày nội dung của trang</td>
<td align="center"style="width: 100px">
Trang 162.1.5 Tạo Web Site
Để tạo một trang Web Site trong Visual Studio 2005, tr-ớc tiên bạn xác
định th- mục l-u trữ tập tin của dự án hay dùng th- mục mặc định Kế đến, bạn
kích hoạt trình Visual Studio 2005 IDE và chọn File| New| Web Site, cửa sổ
xuất hiện nh- sau:
Trang 17
Nhấn nút OK, lập tức cửa sổ dự án xuất hiện trang ASP.NET với trang
mặc định nh- sau:
Ta cũng có thể tùy chọn HTTP trong phần Location và nhập địa chỉ Web
Lựa chọn này cho phép bạn trỏ đến th- mục ảo đ-ợc tạo ra trong IIS Giả sử bạn
chọn vào Location là HTTP và nhập địa chỉ http://localhost/WebSite2 nh- hình
sau:
Trang 18Sau đó nhấn nút OK thì dự án đ-ợc tạo ra có cấu trúc nh- sau:
Ngoài ra chúng ta có thể tạo đự án ASP.NET 2.0 bằng FTP nhờ chọn vào
Location là FTP và nhập vào đ-ờng dẫn là ftp://locahost/WebSite4 nh- hình
sau:
Sau khi nhấn OK thì cửa sổ tiếp theo hiện ra nh- hình vẽ d-ới đây, để yêu
cầu bạn chọn đăng nhập để làm việc trên dự án
Trang 192.1.6 Thực thi ứng dụng ASP.NET 2.0 trong Visual Studio 2005
2.1.6.1 Chạy ch-ơng trình
Mặc định ứng dụng ASP.NET 2.0 tạo ra ch-a có tệp tin web.config và
chạy ở chế độ không gỡ rối (Dubug), chính vì vậy lần đầu tiên chạy ứng dụng
thì cửa sổ sẽ xuất hiện nh- hình sau:
Nếu ta chọn vào tùy chọn thứ 2 nh- hình d-ới thì ch-ơng trình chạy chế
độ không dubug Do đó, ta không thể theo dõi tình trạng của biến hay câu lệnh
khi dubug và tập tin web.config ch-a đ-ợc tạo ra
Trang 20NÕu thùc thi thµnh c«ng th× ch-¬ng tr×nh duyÖt Web sÏ ®-îc kÝch ho¹t vµ
trang Default.aspx sÏ ®-îc triÖu gäi víi kÕt qu¶ nh- sau:
2.2 Giới thiệu về C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy
kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó
thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ
cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính
chất đó hiện diện trong một ngôn ngữ lập trình hiện đại Và ngôn ngữ C# hội