77范文网 - 专业文章范例文档资料分享平台

服务器端动态网站设计(二)

来源:网络收集 时间:2020-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

服务器动态网站设计(二)

本文介绍“皖北牛肉当涂专卖店”网站设计过程,该网站为服务端动态网站,服务器端程序采用.NET技术编写,数据库管理系统采用Access。在数据库操作方面,主要介绍如何利用ADO.NET对数据库进行读写操作。此外,本文还介绍了ASP.NET对Access和SQL Server数据库中图像数据操作的方法,对其它文件如文本文件和XML文件读写的方法,对Cookie的读写操作。

1. 项目设计

本设计文档见附件:服务器网站设计任务书(二)。

2. 在Microsoft Visual Studio 中创建网站

1. 复制上一服务器网站并在Microsoft Visual Studio中打开; 2. 在WBData.mdb数据库中添加Product表;

3. 创建母板页Masterpage.master后,在母板页中添加公共的Html标签;

3. 在母板页中添加网站访问量计数器功能

利用Application对象存储网站访问量

1.Application对象

Application对象用于存放ASP.NET 应用程序中多个会话和请求之间的全局共享信息,所有用户都可以对Application对象进行修改。

例:

protected void Page_Load(object sender, EventArgs e) {

Application[\}

protected void Button1_Click(object sender, EventArgs e) {

Application[\ Label1.Text=Application[\}

对于上例,我们可在多个浏览器窗口中打开上例查看效果,可以看出,多个会话共享一个应用程序状态变量。

以下介绍Application对象主要成员。 ? AllKeys 属性

获取 HttpApplicationState 集合中的访问键。见MSDN示例。 ? Count 属性

获取 HttpApplicationState 集合中的状态变量数。 ? Add 方法

将新的状态变量添加到 HttpApplicationState 集合中。 例:

protected void Page_Load(object sender, EventArgs e) {

Application[\ //此方法只创建一次,第二次执行时是对其赋值 if(!Page.IsPostBack)

Application.Add(\}

上例中二种方式都能创建Application状态变量,但使用Add方法时,每执行一次就添加一个状态变量。

? Clear 方法

从 HttpApplicationState 集合中移除所有对象。 ? Remove 方法

从 HttpApplicationState 集合中移除命名对象。 ? RemoveAt 方法

按索引从集合中移除一个 HttpApplicationState 对象。 ? Set 方法

更新 HttpApplicationState 集合中的对象值。 例:

Application.Set(\? Lock 方法

锁定对 HttpApplicationState 变量的访问以促进访问同步。 ? UnLock 方法

取消锁定对 HttpApplicationState 变量的访问以促进访问同步 2.网站计数器

protected void Page_Load(object sender, EventArgs e) {

if (!Page.IsPostBack) {

if (Session[\] == null) {

Application.Lock();

Application[\] = Convert.ToInt32(Application[\]) + 1; Application.UnLock();

Session.Add(\, \); }

labAccessCount.Text =\本站访总问量:\+ Application[\].ToString(); }

}

利用文本文件存储网站访问量

1.读取文本文件数据

try {

//其中可用\可用\代替

using (StreamReader sr = new StreamReader(Server.MapPath(\)+ \))

{

String line=sr.ReadToEnd(); Label1.Text = line; } }

catch (Exception e1) {

Label1.Text = \∞\;

}

上述代码中

new StreamReader(Server.MapPath(\)+ \)

可用如下替换:

File.OpenText(Server.MapPath(\)+ \)

2.向文本文件写数据

using (StreamWriter sw = new StreamWriter(Server.MapPath(\)+\)) {

sw.Write(118); sw.Close();

}

其中,StreamWriter对象可通过File类创建:

StreamWriter sw = File.CreateText(FILE_NAME))

3.网站计数器

protected void Page_Load(object sender, EventArgs e) {

if (!Page.IsPostBack) {

int c;

using (StreamReader sr = new StreamReader(Server.MapPath(\) + \)) {

c = Convert.ToInt32((sr.ReadToEnd())); }

if (Session[\] == null) {

c++;

using (StreamWriter sw = new StreamWriter(Server.MapPath(\) + \)) {

sw.Write(c); sw.Flush(); sw.Close(); }

Session.Add(\, \); }

labAccessCount.Text = \本站访总问量:\ + c.ToString(); }

}

.NET对文件操作

通常.NET提供的对文件操作的类包含在System.IO名空间中,使用时需包含using System.IO;

1.用于文件 I/O 的主要类

Directory 提供创建、移动和枚举目录和子目录的静态方法。 例:

Directory.CreateDirectory(\);

DirectoryInfo 提供创建、移动和枚举目录和子目录的实例方法。 例:

DirectoryInfo di = new DirectoryInfo(\);

di.Delete(true); //true表示连同其中的文件和子目录一起删除

DriveInfo 提供访问有关驱动器的信息的实例方法。 DriveInfo d = new DriveInfo(\);

Label1.Text = d.AvailableFreeSpace.ToString();

File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream。 FileInfo 提供用于创建、复制、删除、移动和打开文件的实例方法,并协助创建 FileStream。

例:如果文件不存在,则创建文件并写入内容;否则追加内容到文件。然后输出文件内容。

string path = @\; FileInfo fi1 = new FileInfo(path); if (!fi1.Exists) {

//Create a file to write to.

using (StreamWriter sw = fi1.CreateText()) {

sw.WriteLine(\); sw.WriteLine(\);

sw.WriteLine(\); } } else {

//Append some text.

using (StreamWriter sr = new StreamWriter(path,true)) {

sr.WriteLine(\); } }

//Open the file to read from.

using (StreamReader sr = fi1.OpenText()) {

string s ,s1; s = s1 = \;

while ((s1 = sr.ReadLine()) != null) {

s=s+s1 + \; }

Label1.Text = s;

}

FileStream 支持通过其 Seek 方法随机访问文件,提供了读和写的操作。 注:如果打算多次重用某个对象,可考虑使用类的实例方法,而不是类的相应静态方法,因为并不总是需要安全检查。

2.用于从流读取和写入流的类

BinaryReader 和 BinaryWriter 在 Streams 中读取和写入编码的字符串和基元数据类型。

StreamReader 通过使用 Encoding 进行字符和字节的转换,从 Streams 中读取字符。 StreamWriter 通过使用 Encoding 将字符转换为字节,向 Streams 写入字符。 StringReader 从 Strings 中读取字符。

4. 在母板页中添加网上调查功能

1.在Page_Load()事件中调用显示网上调查结果函数ShowVote()

///

/// 显示网上调查结果。 ///

private void ShowVote() {

DataSet ds = new DataSet();

ds.ReadXml(Server.MapPath(@\));

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库服务器端动态网站设计(二)在线全文阅读。

服务器端动态网站设计(二).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/937047.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: