版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江省大学生电子商务竞赛杭州雅南宠物用品有限公司外贸商务网站技术报告目录1国内外同类作品的研究与应用现状31.1国外同类网站现状31.2国内同类网站的现状31.3国内网站设计和建设中应注意事项42网站设计与建设62.1用户需求62.2网站建设目标62.3站点简介62.4技术方案83系统功能设计103.1站点主要设计及效果图103.2网站主要功能223.3主要功能模块说明224作品的技术创新点与实现314.1页面缓存技术314.2数据库选择314.3动态树状导航314.4购物询价324.5MD5加密技术364.6广告代码374.7Jmail邮件系统384.8容错技术394.9验证码394.10备份恢复功能414.11系统日志分析424.12身份验证434.13DataList分页455测试技术475.1网站功能测试475.2界面测试475.3性能测试475.4安全性测试475.5稳定性测试485.6浏览器兼容性测试485.7可用性/易用性测试485.8链接测试485.9代码合法性测试485.10压力测试486质量管理497作品的实用性50附件1网站支持软件安装说明.51附件2网站数据库设计报告811国内外同类作品的研究与应用现状美国一些著名的零售商已经表明:除非供货企业采取电子商务手段与其连通,否则将不接受供货。电子商务正在成为外贸的常规手段。电子商务的应用改变了传统的商业经营模式,带给国际贸易崭新的运作模式。通过Internet,制造商可以直接、迅速地把产品推销给最终需求者,使得商业活动不受时间和地域的限制,减少销售环节,降低经营成本。同时,企业可更好、更快地和客户取得联系,更大地拓宽销售领域。每年两次的广交会是中国出口企业寻求商机的最好时机,但参加广交会的费用往往很高,而且摊位有限、信息有限、时间有限,因此对国内数以万计的出口企业而言,广交会已远远不能满足其需要。中国是全球贸易大国,随着进出口权的放开和中国加入WTO,中国国际贸易需要企业与国际采购商更直接地交流。外贸手段的电子化便成为了现实的需求。电子化贸易造成的最大冲击将是传统的中介行业与服务行业。因此,对外贸公司而言,积极谋求改革、抢占网络先机、利用并发挥专业网站的作用便显得特别重要。应该看到,中国已经成为国际买家的重要采购基地,互联网能更有效地帮助买家实现国际采购。1.1国外同类网站现状国外做宠物用品业务的公司通常不分内贸和外贸,其电子商务网站通常是以B2C为主,比如PETCO.COM和PETSMART.COM,可以开展网上零售,顾客可以直接在网上挑选产品、支付货款。而B2B的同类网站很少见,可能是B2B的业务牵涉面较广,包括价格在内的很多具体交易条件必须进行谈判后才能确定。国外网站通常比较人性化,注重用户体验,搜索、点击、转换页面的一系列过程十分流畅。1.2国内同类网站的现状应该看到,国内大部分做宠物用品外贸业务的企业的网站设计大同小异,基本上以展示企业形象和产品为主,内容不外乎企业概况、产品展示、联系我们等内容。这些网站存在的常见问题有:1.网站设计中国化,不符合国外用户浏览习惯,导致外国人需要花一些时间才能找到他想要的资讯,感觉别扭;2.网站设计不专业,做工粗糙,很多英文语法错误,让国外用户感觉该公司很小很不专业而且粗心,从而失去合作机会;3.网站在国外无法打开,要不国外用户打开其网站慢得难以忍受;4.如果有网上订单功能的话,也不过是将产品填入一个空白框内提交,跟发电子邮件一样。网站上的留言反馈、在线咨询、电邮咨询是摆设,用户问了半天,没有得到回复;5.忽视网站可用度和可信度建设网站可用度(Usability)这个词在国内比较陌生,在西方互联网水平发达国家,网站的可用度建设被提到一个极为重要的高度。因为这是直接影响网站效果的关键。可用度指标包括一系列涉及到用户使用网站的各个方面的问题,如导航的方面性、栏目结构、用户体验、下载速度等。而网站可信度在诚信体制和诚信意识较为完善的西方国家,也是很受重视的方面。网站可用度和可信度与推广本身的成效无关,是纯粹网站建设本身的问题。6.网站内容更新不足企业网站更新不足不是一个新鲜话题了,一个内容很少更新的企业网站不仅对用户来说没有吸引力,对搜索引擎来说同样没有兴致经常造访。外贸公司网站在这方面总体上比制造商网站做得更好,不过也仅局限于增加新产品方面。实际上网站更新还不应该只停留在上了多少图片上,应不时增加一些关于产品介绍或其它文字性页面如企业动态等,因为文字性页面更容易被搜索引擎抓取,它们同样可以把访问者引向首页或产品页面。7.中英文版混为一站一些既做内销也做外销的企业常常把中英文版置放到一个网站上,更可怕的是有些页面文字干脆来一段中文再来一段英文翻译,这种用户定位不明的做法是费力不讨好的。对于以内销为主的企业来说这样做无可厚非,因为英文版是一种辅助性质。但对于那些想大力开拓海外市场的企业来说有必要将英文版与中文版分开,注册独立域名,完全以专业外向型企业的形象出现。根据新竞争力网络营销管理顾问()对部分外贸企业网站的了解,这种状况具有一定的普遍性,并且没有从网络营销战略层面得到重视。8.商务功能不强,不能直接在网上进行询价报价,就是可以,一次询价也只能是针对一种产品,所以询价功能非常薄弱。1.3国内网站设计和建设中应注意事项1.网站设计西方化,符合海外客户的浏览习惯。注意字体大小(西方人喜欢较小字体)、浏览器编码、细节处理(语言细节、网站设计精细等)。2.网站设计应参考国外知名大公司,做出大气、稳重的气势来,如等。国外用户很少来大陆来考察,很多信息都是通过网站来了解到的,公司如果小,应该在网站上做出大气来,显示自己公司的实力和专业,公司如果大,更应该展示自己的资质和实力。3.网站放置在海外的服务器上去,保证海外用户访问网站的速度,如果是全球化的用户群体,建议使用美国的主机。这时开发工具和支持软件的版权必须要重视。4.使用海外企业邮箱或有海外转发功能的高端企业邮箱,保证全球收发正常。国内的邮件服务器因垃圾邮件问题,ip地址经常被国外屏蔽,致使发往海外的邮件常被退回或收不到,这会严重影响正常的外贸业务往来。相信朋友们都了解,前段时间因台湾地震,当我们打开国外的网站时根本打不开,那么同样的,国外的买家也打不开中国的网站,如此就失去了很多机会,造成很多损失。5.网站建设过程中要进行最基本的网站优化,如关键词优化、导航优化、标签优化、关键词密度等都必须注意到,这些也可以算是现代网站建设的基本配置了。6.多了解目标客户群体的使用习惯。如在欧洲,很多专业的采购商使用黄页的次数比网络多。某些地方又是使用B2B商务平台比搜索引擎多,有些地方又是相反,还有展会等,要根据不同地区的习惯来制定不同的网络营销方案。2网站设计与建设2.1用户需求杭州雅南宠物用品有限公司是一家从事宠物玩具、卧具、狗链、清洁工具等各种用具外贸业务的企业。为了扩大公司业务,公司决定建设一个基于互联网的外贸电子商务平台,并要求该网站符合公司以下业务特点:产品种类繁多,且同一种产品又有多种规格。面对国际市场,产品报价会因出口国家、具体客户、平均数量、交易条件的不同而有变化。所以网上的产品不能直接显示价格,客户只能挑选合适的产品进行询价。可以方便地在网上更新产品,甚至可以根据业务发展而随时增加产品类别。客户资料的整理收集。客户访问方便、操作简单,界面报价单经人工处理后发给客户。2.2网站建设目标这个网站的系统建设主要是要达到以下五个目标:实用性:就是要达到灵活实用,方便广大顾客应用,满足用户需求。可操作性:主要是方便系统管理员对整个网站的管理,要有可操作性。可维护性:在系统遇到临时问题时,可以即时得到维护,并在最短的时间内解决问题。可扩展性:电子商务在不断发展,在日后的改进中要有可扩展的能力,方便修改。安全性:主要是网页代码与数据的安全管理,尽量达到不丢失客户资料及报价等机密信息。语言:前台采用全英文界面。2.3站点简介网站的设计很好地实现了要求的功能,有以下特点:1、界面上,布局合理新颖,检索方便而直观色彩协调美观,同时采用传统样式和div+css样式相结合,同时为提高页面访问速度,采用ASP.NET2.0Caching缓存技术中的OutputCaching缓存;并且使用树状导航,保证用户可以快捷找到需要产品。2、主页以展示产品为主,同时主页还推出“推荐产品”、“热点产品”和“新产品”等栏目;这不同于许多其它同类网站,一开始就是“关于我们”,其实客户先感兴趣的是你企业有没有他需要的产品,之后才会看你企业怎样。这样的设计使客户可以直奔主题,,可以吸引客户注意力,内容丰富,视觉大气,具有知名网站的风范,另外加上一些卡通图片,又透出些许活泼可爱来,与产品的特点相吻合。3、提供在线查询和询价服务;只要点中所选产品图片下的INQUIRY按钮,就可将该产品加入询价车(RFQCART),在挑选产品的过程中随时可以对询价车里的产品进行更新,待产品挑选完毕,就可将询价单提交给雅南公司的业务员。之后雅南公司的业务员可以通过后台的报价系统人工填入价格,即可向客户报价。尽管任何人都可以浏览网站内容并进行询价操作,但只有注册并登录了的用户才可以提交询价单,这样就可以保证每个用户的联系资料都得到保留和识别。4、后台管理功能完善;网上产品的增减、以及产品类别的增加都可以通过操作来实现,而且产品类别增加后,会在网页上自动增加相应的导航条。通过后台操作,还可以方便地统计某一客户一共询价了哪些产品,或某一产品被哪些客户询过价。同时还可以查哪些询价格单已处理,又有哪些是待处理,不同时期的询价、报价情况可以通过查询一目了然。不同的工作人员所能看到的后台功能是不同的,同时后台还提供了日志功能、数据备份和恢复功能,等等。5、强大的查询和搜索功能;可以进行快速或者高级查询,使用非常快捷方便,让客户在庞大的产品库找到所需的产品。6、在安全性上,系统对关键数据,采用先进的MD5加密技术,进行加密,更安全的保证了客户及用户注册的信息;网站采用了容错技术,来确保在默认情况下即使页面或者服务器运行错误,也不会泄露“安全”信息。为防止通过工具暴力破解系统密码,采用验证码方式登录。网站后台分级登录。7、在数据库方面选择了MySQL,这是一个开放源码的小型关系型数据库管理系统,被广泛地应用在Internet上的中小型网站中。支持多线程,充分利用CPU资源优化的SQL查询算法,有效地提高查询速度。提供多语言支持,提供多种数据库连接途径,提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。8.在开发工具选择上面,页面设计使用Macromedia公司的主页编辑MacromediaDreamweaver8工具。这是一个所见即所得主页编辑器,并带有站点管理功能,让你方便地设计和管理多个站点。支持最新的DHTML和CSS标准,你可以用它设计出生动的DHTML动画、多层次的页面(layer)以及定义CSS样式表;Photoshop是世界顶尖级的图像设计与制作工具软件。在表现图像中的阴影和色彩的细微变化方面或者进行一些特殊效果处理时,使用位图形式是最佳的选择,它在这方面的优点是矢量图无法比拟的。可以使用色彩原理和选取颜色、范围选取、工具与绘图、图像编辑、控制图像色彩和色调、使用图层、路径、通道和蒙板的应用、滤镜等。程序开发上使用MicrosoftVisualStudio.Net2005,VisualStudio.Net2005中集成了数据导航工具条,同时新增,删除,自定义等功能和多种控件,提供了多种缓存方式,另外ASP.NET技术能实现代码和页面设计分离,使开发更加方便。2.4技术方案目前商务网站的技术路线主要有两类,一类是基于JAVA技术的J2EE体系结构;另一类是基于微软.NET技术的体系架构。但J2EE体系结构更适合于大型的系统,而且配套的相关设备也比较高,对于一个小型企业而言是没有必要的。目前.NET技术已逐渐成熟,基于微软.NET技术的体系架构比较适合杭州雅南宠物用品有限公司。在结合企业的资金投入的有限性后,我们选择了这样一个技术路线:网站服务器系统平台服务器端操作系统平台:WindowsXPProfessionalsp2,Windows2000Server,Windows2000Professional,Windows2003Server等选其一。服务器端WEB服务器平台:IIS5.0及以上版本。建议选用Windows2003Server,因为它的设计是专用于服务器的,此服务器开发环境兼容性能好,开发难度低,可利用资源多;在服务器安全和稳定性能方面比较出色,是一种全功能的服务器操作系统,支持多达8个处理器。可以随时根据需要来升级服务器。IIS6.0中集成了Passport来支持验证机制,这个集成是在核心Web服务器中提供了.NETPassport验证并使用标准的.NETPassport组件,它使用.NETPassport版本2的接口。这将允许客户充分利用Passport客户(超过150,000,000)的好处,来处理帐户管理之类的如密码过期或者其他要求。IIS6.0相比IIS5.0新增五大功能:安全性、易管理性、可伸缩性、增强的开发支持、服务器合并。数据库数据库:MysqlSever5.0,MysqlConnectorNet5.1.2MySQL是一个开放源码的小型关系型数据库管理系统。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。支持多线程,充分利用CPU资源优化的SQL查询算法,有效地提高查询速度。提供多语言支持,常见的编码如中文的GB2312、BIG5等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。邮件发送系统邮件发送系统:Jmail4.4Dimac公司的邮件收发组件,这是一个非常成熟、强大且免费的邮件组件。它不但可以完成发邮件的工作,还可以POP收信,并支持收发邮件时的PGP加密,内置一个群发邮件的对象,可以使群发编程更简单。即使是很多其他组件也都能完成的发邮件功能,JMail的完成也可以称得上最出色的,除了常见的抄送暗送等多收件人功能外,它还支持添加嵌入式图片附件,并且可以从URL读取文件作为附件。网站开发工具网站程序开发:MacromediaDreamweaver8+MicrosoftVisualStudio2005页面设计使用Macromedia公司的主页编辑工具。这是一个所见即所得主页编辑器,并带有站点管理功能,让你方便地设计和管理多个站点。支持最新的DHTML和CSS标准,你可以用它设计出生动的DHTML动画、多层次的页面(layer)以及CSS样式表。程序使用MicrosoftVisualStudio2005,VisualStudio2005中集成了数据导航工具条,同时新增,删除,自定义等功能和多种控件,提供了多种缓存方式,使开发更加方便。图片处理图片处理软件:PhotoshopCS2Photoshop是世界顶尖级的图像设计与制作工具软件。图像处理是对已有的位图图像进行编辑加工处理以及运用一些特殊效果,其重点在于对图像的处理加工。在表现图像中的阴影和色彩的细微变化方面或者进行一些特殊效果处理时,使用位图形式是最佳的选择,它在这方面的优点是矢量图无法比拟的。可以使用色彩原理和选取颜色、范围选取、工具与绘图、图像编辑、控制图像色彩和色调、使用图层、路径、通道和蒙板的应用、滤镜等。服务器的选择基于雅南公司还处于起步阶段,赢利比较小,所以采用虚拟空间,找一个ISP公司来存放网站的数据和代码,等网站发展到一定的规模,可以考虑采用托管服务器和自建服务器。考虑到网站的客户群是国外用户,所以我们租用的空间是美国服务器上的。3系统功能设计3.1站点主要设计及效果图网站首页设计:首页效果图商品分类页设计商品分类页效果图商品信息页设计商品信息页效果图询价购物车设计询价购物车效果图管理员后台登录设计管理员后台登录效果图客户列表管理设计客户列表管理效果图产品列表管理设计产品列表管理效果图客户询价处理设计客户询价处理效果图3.2网站主要功能网站前台以展示宠物用品在线询价为主,采用数据库动态网页,页面内容和效果可以随时进行后台更改,产品信息也可以随时更改,同时为了考虑信息的安全性,本站以使用MD5进行重要数据加密。网站后台提供了强大的网站管理功能和业务处理功能,除了产品发布、消息发布、在线数据备份恢复、操作员管理等常规功能,还提供了强大的查询统计功能,比如可以统计某一产品的询价情况也可以查某客户的询价情况等等。除外网站还提供了在线报价功能,很好地跟外贸业务系统结合起来。网站的搜索功能非常强大,可以分类也可以模糊查询,使用非常便捷。网站主要包含以下功能:用户注册管理功能帐户自主管理功能搜索和过滤功能在线邮件功能在线询价功能后台权限管理功能企业信息管理功能外商管理功能产品管理功能客户询价报价功能供应厂商管理功能数据库管理功能系统日志分析功能业务员自主管理功能3.3主要功能模块说明为了更好地建立网站,体现其功能,现在将上述功能进行分析说明。注册管理功能进入注册登录页面进入注册登录页面注册客户ID输入客户ID或名称登录联系人进行询价登录客户管理联系人注册联系人登录联系人进行询价帐户自主管理功能登录客户登录客户查看客户联系人修改客户联系人删除客户联系人3.搜索和过滤功能输入关键字输入关键字查看客户资料选择搜索类别点击搜索4.在线邮件功能进入注册登录页面进入注册登录页面注册客户ID输入客户ID或名称登录联系人进行询价登录客户管理联系人注册联系人邮件通知该联系人当修改联系人密码或邮箱变更时修改联系人资料删除联系人修改成功,邮件通知删除成功,邮件通知修改成功,邮件通知登录联系人进行询价询价成功,邮件通知询价成功,邮件通知5.在线询价功能找商品找商品点击询价进入产品信息页不满意添加到询价购物车继续购物提交,等待回执6.后台权限管理功能后台管理后台管理系统管理员系统维护员业务员系统常规设置外商管理客户管理系统日志分析厂商报价管理客户询价管理产品管理外商管理管理员级别与设置数据库管理厂商报价管理联系人管理产品管理7.企业信息管理功能进入后台管理进入后台管理企业信息管理企业新闻管理信息发布信息修改或删除新闻发布新闻修改或删除8.外商管理功能进入后台管理进入后台管理外商管理添加新的客户添加新的联系人客户列表管理查看客户资料联系人列表管理查看联系人资料修改联系人资料删除客户资料删除联系人资料删除客户资料修改客户资料9.产品管理功能进入后台管理进入后台管理产品管理添加新的产品添加类别产品列表管理查看产品详细信息修改产品信息产品类别管理查看产品类别修改产品类别删除产品信息删除产品类别查看询价情况10.客户报价功能进入后台管理进入后台管理客户询价管理客户询价处理客户报价清单报价成功系统发送报价邮件给询价人11.厂商报价管理功能进入后台管理进入后台管理厂商报价管理添加新的厂商添加新的报价厂商列表管理查看厂商详细信息修改厂商信息厂商报价管理查看报价信息修改报价信息删除厂商信息删除报价信息查看报价情况12.数据库管理功能进入后台管理进入后台管理数据库管理备份数据库恢复数据库13.系统日志分析功能进入后台管理进入后台管理系统日志分析系统年度分析系统月度分析系统时段分析14.业务员自主管理功能进入后台管理进入后台管理操作管理添加新的客户添加新的联系人客户列表管理查看客户详细信息修改客户部分信息联系人列表管理查看联系人详细信息修改联系人信息查看询价信息4作品的技术创新点与实现4.1页面缓存技术首页分别由三个页面组成Top.aspx、down.aspx、default.aspx,其中Top.aspx、down.aspx页面采用ASP.NET2.0Caching缓存技术中的OutputCaching缓存,可以把整个网页实现局部缓存,从而有效的提高数据访问的性能,从而加快用户的访问速度和执行效率。主要代码如下:<%@Outputcacheduration="3600"VaryByParam="none"%>4.2数据库选择在数据库的选择方面,使用了MysqlServer5.0版本,其特点是其体积小、速度快、开放源码,使用免费。且要将网站放置于国外,版权问题由为重要。因而选择MysqlServer做为数据库。4.3动态树状导航首页采用全动态导航,通过系统后台添加、删除、修改等操作,可以随时调整前台导航内容,达到动态更新,方面发布信息。左侧导航使用了MicrosoftVisualStudio2005的最新控件TreeView,系统管理员可以直接通过操作后台宠物种类和宠物用具类别管理而自动生成前台树状导航。主要的实现代码如下:ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadIfNotIsPostBackThenDimda1AsNewMySqlDataAdapter("select*fromclassinfo",myconn)Dimds1AsNewDataSetDimi,jAsIntegerDimclassnoAsStringmyconn.Open()da1.Fill(ds1)myconn.Close()Fori=0Tods1.Tables(0).Rows.Count-1Dimtd1AsNewTreeNodetd1.Text=ds1.Tables(0).Rows(i)("classname").ToString()classno=ds1.Tables(0).Rows(i)("classid").ToString()td1.NavigateUrl="./product.aspx?class_id="&classnoTreeView1.Nodes.Add(td1)Dimds2AsNewDataSetDimda2AsNewMySqlDataAdapter("select*fromsubclasswheresubclassidlike'"&classno&"%'",myconn)myconn.Open()da2.Fill(ds2)myconn.Close()Forj=0Tods2.Tables(0).Rows.Count-1Dimtd2AsNewTreeNodeDimclassnameAsStringclassname=ds2.Tables(0).Rows(j)("subclassname").ToString()IfLen(classname)>6Thentd2.Text=Left(classname,18)&"<br>"&Mid(classname,19,Len(classname))Elsetd2.Text=classnameEndIfSession("aaa")=classnamemysubclassname()td2.NavigateUrl="./product.aspx?class_id="&Session("subclassid")td1.ChildNodes.Add(td2)NextNextEndIf4.4购物询价外贸系统主要是为外商客户提供在线产品查询和产品询价,我们在设计制作时借鉴了购物车技术,为此我们称之为询价车。用户可以使用添加询价产品到询价车,在询价车上使用临时表技术,对询价商品进行临时的储存,同时可以对询价车里的产品进行修改及删除操作,最后询价成功后,对这些产品信息进行全面清空,在询价过程中不进行数据库操作,从而减轻了数据库的负担。同时用户可以在登录或不登录的情况下都可以使用,在用户提交时才进行判断操作,方便用户懒注册习惯,并在询价成功后,通过Jmail邮件系统发送用户询价信息,以免出现误询价的情况。主要代码如下:PublicSubCreateCartTable()DimdsAsNewDataSetDimnewDTAsNewDataTable("CartTable")ds.Tables.Add(newDT)DimnewDCAsDataColumnnewDC=NewDataColumn("product_id",System.Type.GetType("System.Int32"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_pic",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_name",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_no",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_size",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_color",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("product_pcs",System.Type.GetType("System.String"))ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("quantity",System.Type.GetType("System.Int32"))newDC.DefaultValue=1ds.Tables("CartTable").Columns.Add(newDC)newDC=NewDataColumn("IsDeleted",System.Type.GetType("System.Int32"))newDC.DefaultValue=0ds.Tables("CartTable").Columns.Add(newDC)Session("myCartTable")=newDTShoppingCartDlt.DataSource=ds.Tables("CartTable").DefaultViewShoppingCartDlt.DataBind()EndSubPublicSubUpdateShoppingCart()IfSession("myCartTable")IsNothingThenCreateCartTable()WriteShoppingCart()ElseWriteShoppingCart()EndIfEndSubPublicSubViewShoppingCart()IfNot(Session("myCartTable")IsNothing)ThenDimviewTableAsNewDataTable("nowCartTable")viewTable=CType(Session("myCartTable"),DataTable)ShoppingCartDlt.DataSource=viewTable.DefaultViewShoppingCartDlt.DataBind()EndIfEndSubPublicSubWriteShoppingCart()IfRequest.Params("mode")<>"view"ThenDimnowTableAsNewDataTable("nowCartTable")nowTable=CType(Session("myCartTable"),DataTable)DimpnAsInteger=nowTable.Rows.CountDimiAsInteger=0DimhasoneAsBoolean=FalseDimnowProdIDAsIntegerWhilei<pnAndNothasonenowProdID=Int32.Parse(nowTable.Rows(i)(0).ToString())IfnowProdID=Int32.Parse(AddProID)Thenhasone=TrueElsei+=1EndIfEndWhileIfhasone=TrueThenShoppingCartDlt.DataSource=nowTable.DefaultViewShoppingCartDlt.DataBind()Session("myCartTable")=nowTableElseDimstrSqlAsStringstrSql="Select*FromproductinfoWhereid="+AddProID+""DimdaAsNewMySqlDataAdapter(strSql,myconn)DimdsAsNewDataSetmyconn.Open()da.Fill(ds,"productinfo")DimnewDRAsDataRownewDR=nowTable.NewRow()DimdtAsDataTable=ds.Tables("productinfo")DimrowAsDataRowForEachrowIndt.RowsnewDR(0)=row(0)newDR(1)=row(6)newDR(2)=row(5)newDR(3)=row(1)newDR(4)=row(2)newDR(5)=row(3)newDR(6)=row(7)newDR(7)=Session("quantity")Session("p_id")=Session("p_id")+row(1)+","Session("p_quantity")=Session("p_quantity")+Session("quantity")+","NextnowTable.Rows.Add(newDR)myconn.Close()ShoppingCartDlt.DataSource=nowTable.DefaultViewShoppingCartDlt.DataBind()Session("myCartTable")=nowTableEndIfEndIfEndSubPublicSubShoppingUpdate()Session("p_quantity")=""Session("p_id")=""DimiAsIntegerDimjAsIntegerDimkAsIntegerDimdeleteItemAsNewArrayList(10)Dim_itemAsRepeaterItemj=0k=0DimnowTable2AsNewDataTable("nowCartTable2")nowTable2=CType(Session("myCartTable"),DataTable)Fori=0ToMe.ShoppingCartDlt.Items.Count-1_item=Me.ShoppingCartDlt.Items(i)DimCountTextAsTextBox=CType(Me.ShoppingCartDlt.Items(i).FindControl("CountTb"),TextBox)nowTable2.Rows(i)(7)=Int32.Parse(CountText.Text.ToString())Session("p_id")=Session("p_id")+nowTable2.Rows(i)(3).ToString+","Session("p_quantity")=Session("p_quantity")+CountText.Text.ToString()+","NextiShoppingCartDlt.DataSource=nowTable2.DefaultViewShoppingCartDlt.DataBind()Session("myCartTable")=nowTable2EndSub4.5MD5加密技术系统集成了在线修改密码,找回密码,邮箱变更密码等服务,方便客户自主管理密码。在用户存取数据过程中,对关键数据,采用先进的MD5加密技术,进行加密,更安全地保证了客户信息、用户信息、报价信息等。主要代码如下:Subemail()DimstrSqlAsStringstrSql="Select*FromlinkmaninfoWhereemail='"&account_name.Text&"'"DimdaAsNewMySqlDataAdapter(strSql,myconn)DimdsAsNewDataSetmyconn.Open()da.Fill(ds,"linkmaninfo")DimdtAsDataTable=ds.Tables("linkmaninfo")DimrowAsDataRowForEachrowIndt.RowsSession("cocode")=row(1)login_password=row(4)login_name=row(8)Nextmyconn.Close()Iflogin_name=""ThenResponse.Write("<script>alert('Youenterthee-mailaddressdoesnotexist')</script>")ElseDimstrpwdAsStringstrpwd=FormsAuthentication.HashPasswordForStoringInConfig,"md5")Ifaccount_name.Text=login_nameThenIfstrpwd=login_passwordThenSession("key")=login_nameResponse.Redirect("Default.aspx")ElseResponse.Write("<script>alert('Youenterthepassworderror.')</script>")EndIfEndIfEndIfEndSub4.6广告代码网页中的广告采用JavaScript代码,来实现随机产生广告的效果,从而给客户每次都有一种新的感觉。主要代码如下:<scriptlanguage="JavaScript">varhow_many_ads=3varnow=newDate()varsec=now.getSeconds()varad=sec%how_many_ads;ad+=1;if(ad==1){url="../product.aspx?class_id=10000";target="_parent";alt="dogshop";banner="images/banana_1.jpg";width="559";height="246";}if(ad==2){url="../product.aspx?class_id=3000002";target="_parent";alt="birdfeeder";banner="images/banana_2.jpg";width="559";height="246";}if(ad==3){url="../product.aspx?class_id=1000004";target="_parent";alt="DogToys";banner="images/banana_3.jpg";width="559";height="246";}document.write('<center>');document.write('<ahref=\"'+url+'\"target=\"_blank\">');document.write('<imgsrc=\"'+banner+'\"width=')document.write(width+'height='+height+'');document.write('alt=\"'+alt+'\"border=0><br>');document.write('</center>');</script>4.7Jmail邮件系统 在网站里,无论询价和报价、联系我们、以及通过邮件更新密码等,都要使用邮件系统,我们采用了Jmail组件,通过Jmail邮件系统可以实时发送用户注册信息、询价信息和报价信息等等。主要代码如下:Subemail()jmail=Newjmail.Message()jmail.Charset="gb2312"jmail.ContentType="text/html"jmail.Silent=TrueDimSubject="Ya-Nan!E-mailRegisterssuccess!"Dimbody="Dear"+Label1.Text+":"+"<br>"+"YourE-mailalreadyregisteredsuccessfully."+"<br>"+"ThankyouforusingYa-Nan!"+"<br>"+Label2.TextDimFromEmail=smtpfromDimToEmail=Session("e_mail")jmail.AddRecipient(ToEmail)jmail.FromName="Ya-Nan"jmail.From=FromEmailjmail.MailServerUserName=smtpnamejmail.MailServerPassWord=smtppasswordjmail.Subject=Subjectjmail.Body=bodyjmail.Send(smtpurl,False)jmail.Close()EndSub4.8容错技术网站采用了容错技术,以确保在默认情况下即使页面或者服务器运行出现错误,也不会泄露“安全”信息。主要代码如下: <customErrorsmode="On"defaultRedirect="error.aspx"></customErrors>4.9验证码登录时采用验证码,防止黑客通过工具暴力破解。主要代码如下:ImportsSystemImportsSystem.Drawing.Drawing2DImportsSystem.Drawing.imagingImportsSystem.DrawingImportsSystem.Web.UIImportsSystem.IOPublicClassValidatePublicClassCreatValidateNumberPublicFunctionCreatValidateNumber(ByVallengthAsInteger)DimvcharAsString="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,x,y,z"Dimvcarray()AsString=Split(vchar,",")DimvnumAsString=""DimiAsByteFori=1TolengthRandomize()vnum=vnum&vcarray(Int(35*Rnd()))NextReturnvnumEndFunctionPublicSubCreatevalidateGraphic(ByValpageAsPage,ByValvalidatenumAsString)DimimageAsBitmap=NewBitmap(CInt(Math.Ceiling(validatenum.Length*12.5)),22)DimgAsGraphics=Graphics.FromImage(image)TryDimrandomAsNewRandomg.Clear(Color.White)DimiAsIntegerFori=0To24Dimx1AsInteger=random.Next(image.Width)Dimx2AsInteger=random.Next(image.Width)Dimy1AsInteger=random.Next(image.Height)Dimy2AsInteger=random.Next(image.Height)g.DrawLine(NewPen(Color.Silver),x1,y1,x2,y2)NextDimfontAsFont=NewFont("Arial",12,(FontStyle.BoldAndFontStyle.Italic))DimbrushAsLinearGradientBrush=NewLinearGradientBrush(NewRectangle(0,0,image.Width,image.Height),Color.Red,Color.DarkRed,1.2F,True)g.DrawString(validatenum,font,brush,3,2)Fori=0To24DimxAsInteger=random.Next(image.Width)DimyAsInteger=random.Next(image.Height)image.SetPixel(x,y,Color.FromArgb(random.Next()))Nextg.DrawRectangle(NewPen(Color.Silver),0,0,image.Width-1,image.Height-1)DimstreamAsNewMemoryStreamimage.Save(stream,ImageFormat.Jpeg)Page.Response.Clear()Page.Response.ContentType="image/jpeg"Page.Response.BinaryWrite(stream.ToArray())CatchexAsExceptionFinallyg.Dispose()image.Dispose()EndTryEndSubEndClassEndClass4.10备份恢复功能使用了数据在线备份恢复技术,可以随时备份,以便在需要时可以恢复数据,以减少由于数据库破坏所带来的损失。主要代码如下:ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click‘备份代码DimmyconnAsNewMySqlConnection("datasource=localhost;initialcatalog=petdb;userid=root;pwd=96479647")myconn.Open()DimpathAsStringpath=Server.MapPath("..\")&"backup\"Dimoshelloshell=CreateObject("WSCript.shell")oshell.run("cmd/ccdC:\ProgramFiles\MySQL\MySQLServer5.0\bin\&mysqldump.exe–uroot-p96479647petdb>"&path&"backup.sql")oshell=Nothingmyconn.Close()sysadd()Label1.Text="备份数据库成功!备份路径为:backup\backup.sql"EndSubSubsysadd()DimstrclientAsString="备份了数据库"DimmyconnAsNewMySqlConnection("datasource=localhost;initialcatalog=petdb;userid=root;pwd=96479647")DimcmdAsNewMySqlCommand("InsertIntosystemassay(sysname,sysadmin,syscontent,sysip,systime)Values('"&Session("name")&"','"&Session("admin")&"','"&strclient&"','"&Session("thisip")&"','"&Now()&"')",myconn)myconn.Open()cmd.ExecuteNonQuery()myconn.Close()EndSubProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click‘恢复代码DimmyconnAsNewMySqlConnection("datasource=localhost;initialcatalog=petdb;userid=root;pwd=96479647")myconn.Open()DimpathAsStringpath=Server.MapPath("..\")&"backup\"Dimpath_nameAsStringpath_name=path+"backup.sql"Dimoshelloshell=CreateObject("WSCript.shell")oshell.run("cmd/ccdC:\ProgramFiles\MySQL\MySQLServer5.0\bin\&mysql–uroot-p96479647petdb<"&path_name)oshell=Nothingmyconn.Close()sysadd()EndSubSubsysadd()DimstrclientAsString="恢复数据库"DimmyconnAsNewMySqlConnection("datasource=localhost;initialcatalog=petdb;userid=root;pwd=96479647")DimcmdAsNewMySqlCommand("InsertIntosystemassay(sysname,sysadmin,syscontent,sysip,systime)Values('"&Session("name")&"','"&Session("admin")&"','"&strclient&"','"&Session("thisip")&"','"&Now()&"')",myconn)myconn.Open()cmd.ExecuteNonQuery()myconn.Close()Label1.Text="操作成功,数据正在恢复中请等待几分钟!"EndSub4.11系统日志分析为了系统的安全,了解和掌握管理员和业务员的网上行为,我们设计了系统分析功能,包括系统年度分析、系统月度分析、系统时段分析。该功能记录了操作人员的所有行为。主要代码如下:Subsysadd()DimstrdelAsString="相关操作语句"DimmyconnAsNewMySqlConnection("datasource=localhost;initialcatalog=petdb;userid=root;pwd=96479647")DimcmdAsNewMySqlCommand("Inse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 113.34-2025旋转电机第34部分:轧机用交流调速电动机
- 家长疫情培训课件
- 家长会安全课件
- 2026年离婚协议子女探视权合同
- 2026年水电维修服务合同协议
- 2026年高新技术企业投资合同协议
- 2026年医疗健康行业加盟合同
- 影视发行合同2026年内容交付协议
- 人寿保险合同2026年续签协议
- 2026届新高考英语冲刺复习非谓动作状语
- 全球AI应用平台市场全景图与趋势洞察报告
- 2026.05.01施行的中华人民共和国渔业法(2025修订)课件
- 维持性血液透析患者管理
- 2025年大学大四(临床诊断学)症状鉴别诊断试题及答案
- 2026液态氧储罐泄漏事故应急处置方案
- 直肠解剖课件
- 2025年消控员初级证试题及答案
- 辽宁省丹东市凤城市2024-2025学年八年级上学期1月期末语文试题
- 楼宇智能弱电系统培训资料
- 下水箱液位控制系统设计
- FABE销售法培训课件
评论
0/150
提交评论