网络书店论文付代码Word格式.docx
《网络书店论文付代码Word格式.docx》由会员分享,可在线阅读,更多相关《网络书店论文付代码Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
2.ASP.NET简介
ASP.NET是统一的Web应用程序平台,它提供了为建立和部署企业级Web应用序
所必需的服务。
ASP.NET为能够面向任何浏览器或设备的更安全的、更强的可升级性。
更稳定的应用程序提供了新的编程模型和基础结构。
ASP.NET是Microsoft.NETFramework的一部分,是一种可以在高度分布
Internet环境中简化应用程序开发的计算环境。
.NETFramework包含公共语言运行
库,它提供了各种核心服务,如内存管理、线程管理和代码安全。
它也包含.NET
Framework类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。
ASP.NET提供了下面的优点:
可管理性:
ASP.NET使用基于文本的、分级的配置系统,简化了将设置应用于服
务器环境和Web应用程序的工作。
因为配置信息是存储为纯文本的,因此可以在没有
本地管理工具的帮助下应用新的设置。
配置文件的任何变化都可以自动检测到并应用于
应用程序。
详细信息,请参阅ASP.NET配置。
安全:
ASP.NET为Web应用程序提供了默认的授权和身份验证方案。
开发人员可
以根据应用程序的需要很容易地添加、删除或替换这些方案。
与现有ASP应用程序的兼容性:
ASP和ASP.NET可并行运行在IISWeb服务器
上而互不冲突;
不会发生因安装ASP.NET而导致现有ASP应用程序崩溃的可能。
ASP.NET仅处理具有.aspx文件扩展名的文件。
具有.asp文件扩展名的文件继续由
ASP引擎来处理。
需要注意的是会话状态和应用程序状态并不在ASP和ASP.NET页面
之间共享。
3.需求分析
网上书店系统为用户提供一系列网上购书服务。
系统包含两类用户,即管理员和普通用户。
针对这两类用户,系统根据登录时的
角色判断,跳转到相应的页面为其提供操作。
网上书店系统实现了图书信息的列表显
示,用户通过选择图书种类进入对应种类的图书列表,也可以输入图书名称进行模糊
查询。
普通用户可以针对某一本书进行放入购物车、查看详细信息、查看留言等操作,
在结算中心,系统为用户创建当次购书订单,默认为“未结”状态。
同时系统为普通
用户提供订单管理操作,方便用户查看订单,并可以针对以前的未结订单进行已结操
作。
二、设计(实验)正文
1.使用UML进行系统建模
1.1用例图
1.2活动图(购物过程)
1.3类图
2.利用SQLSever2005设计数据库
2.1创建数据库:
BookShopOnlineDB
2.2创建表:
数据库名:
表名:
User
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认值
说明
1
UserID
int
4
√
2
RoleID
smallint
3
UserName
nvarchar
100
UserPwd
5
RealName
6
Email
7
Address
200
8
PostalCode
varchar
10
9
Phone
50
IsLock
bit
((0))
ShoppingCart
CartID
bigint
CartGuid
BookID
Quatity
DateAdded
smalldatetime
(getdate())
Role
RoleName
OrderStatic
StaticID
StaticName
Orders
OrderID
OrderDate
ReceiverName
ReceiverAddress
ReceiverPostalCode
ReceiverPhone
TotalBookPrice
money
PortPrice
11
HasPayedPrice
12
PortTypeID
13
PortTypeName
14
PayTypeID
15
PayTypeName
16
TipID
17
TipName
18
UpdateStaticDate
OrderDetail
OrderDetailID
Favorites
FavoritesID
BookType
BookTypeID
BookTypeName
ParentID
((-1))
OrderBy
BookImg
ImgID
ImgPath
Book
BookName
OriginalPrice
SellPrice
Description
ntext
Storage
IsCommended
VisitedCount
Author
Press
DatePressed
ISBN
2.3建立关联
2.4往部分表中插入数据
insertinto[Role](RoleName)values('
注册用户'
)
后台管理员'
insertintoOrderStatic(StaticName)values('
等待处理'
已处理'
等待发货'
正在配货'
已发货'
2.5检查数据库的完整性
3.使用VisualStudio2005创建解决方案
3.1业务实体层:
Model
3.2数据访问接口:
IDal
3.3数据访问助手:
DBHelper
3.4配置文件访问:
WebConfig
3.5Sqlserver数据库数据访问层:
SQLServerDal
3.6数据工厂:
DalFactory
3.7业务逻辑层:
Bll
3.8测试类:
TestClass
3.9表示层(网站):
Web
4.体系结构
4.1三层架构层次的划分
目前,典型的分层架构是三层架构,依次是数据访问层、业务逻辑层和表示层。
综合现有的成功实践和.NET平台的特殊性,本系统中将三层架构的层次划分如下:
数据访问层——负责与数据源的交互,即数据的插入、删除、修改以及从数据库中读出数据等操作。
对数据的正确性和可用性不负责,对数据的用途不了解,不负担任何业务逻辑。
业务逻辑层——负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。
对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户性数据不负责,对数据的呈现样式不负责。
表示层——负责接收用户的输入、将输出呈现给用户以及访问安全性验证。
对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息负责。
4.1创建公共对象
Model:
Book.cs、BookImg.cs、BookType.cs、Favorites.cs、OrderDetail.cs、Orders.cs、OrderStatic.cs、OrderStaticTip.cs、PayType.cs、PortType.cs、Role.cs、ShoppingCart.cs、User.cs
例如:
publicclassBookImg
{
privateint_ImgID;
publicintImgID
get{return_ImgID;
}
set{_ImgID=value;
privatestring_ImgPath;
publicstringImgPath
get{return_ImgPath;
set{_ImgPath=value;
4.2创建数据访问层
IDal:
IBook.csIBookType.csIFavorites.csIOrderDetail.csIOrders.csIPayType.csIPortType.csIShoppingCart.csIUser.cs
publicinterfaceIBookType
voidInsertBookType(BookTypebookType);
IList<
BookType>
SelectRootBookType();
SelectSubBooType(intparentID);
SelectAllBookType();
voidResetBookTypeListCached();
intUpdateBookType(BookTypebookType);
intDeleteBookType(intbookTypeID);
SqlServerDal:
BookDAl.csBookTypeDal.csFavoritesDal.csOrderDetailDal.csOrdersDal.csPayTypeDal.csPortTypeDal.csShoppingCartDal.csUserDal.csDBAccess.cs
publicclassFavoritesDal:
DBAccess,IFavorites
publicintInsertFavorites(Favoritesfavorites)
SqlParameter[]parms={
newSqlParameter("
@UserID"
favorites.UserID),
@BookID"
favorites.BookID)
};
returnbase.ExecuteNonQuery(StoredProcedureName.sp_InsertFavorites,parms);
}
4.3创建业务逻辑层
Bll:
BookBll.csBookTypeBll.csFavoritesBll.csOrderDetailBll.csOrdersBll.csPayTypeBll.csPortTypeBll.csShoppingCartBll.csUserBll.cs
publicclassBookBll
privatestaticreadonlyIBookDal=DataAccess.CreateBook();
publicDataSetSelectTopSoldBooks()
DataSetds=Dal.SelectTopSoldBooks(Config.TopSoldBooks);
SetRowNum(ds);
SetDefaultPic(ds);
returnds;
4.4创建辅助操作
DBHelper:
SQLHelper.cs
Utility:
ErrorLog.csMyEmail.csPassword.csWebTool.cs
4.5创建表示层
文件夹
BookImg:
图书图片
Images:
系统公用图片
Skins:
网页样式default.css
ErrorLog:
系统错误日志errorlog.txt
Controls:
用户控件
Admin:
管理员目录
其中有页面:
4.5.1AddBook.aspx添加图书
publicpartialclassAdmin_AddBook:
System.Web.UI.Page
protectedvoidPage_Load(objectsender,EventArgse)
if(!
IsPostBack)
SetAddBook1();
privatevoidSetAddBook1()
AddBook1._btnModify.Visible=false;
4.5.2AddBookType.aspx添加图书类别
publicpartialclassAdmin_AddBookType:
4.5.3AdminLogin.aspx管理员登录
publicpartialclassAdmin_AdminLogin:
Page
{
UserLogin1.LblTitle.Text="
管理员用户登录"
;
UserLogin1._UserName.Focus();
privatestringReturnUrl
get
if(Request.QueryString["
ReturnUrl"
]==null)
returnnull;
returnRequest.QueryString["
].ToString();
protectedvoidSubmitClick(objectsender,EventArgse)
UseradminLogined=newUserBll().CheckUserLogin(UserLogin1._UserName.Text,UserLogin1._UserPwd.Text,Role.AdminUser);
if(adminLogined==null)
AdminState.SetUserLogined(adminLogined);
FormsAuthentication.RedirectFromLoginPage(UserLogin1._UserName.Text,false);
if(string.IsNullOrEmpty(ReturnUrl))
Response.Redirect("
OrderList.aspx?
TypeID=1"
);
else
Response.Redirect(ReturnUrl);
UserLogin1._Msg.Text="
用户名或密码错误!
请重试。
"
UserLogin1._UserPwd.Focus();
4.5.4AdminLogout.aspx管理员退出
publicpartialclassAdmin_AdminLogout:
FormsAuthentication.SignOut();
AdminState.Logout();
//lblMsg.Text="
退出成功!
//hyperGoBack.NavigateUrl=base.FromUrl;
4.5.5OrderList.aspx订单列表
publicp