




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽冶金科技职业学院计算机系毕业论文 论文题目: 商品维护管理系统 专 业 网络技术 年 级 2013级 学 校 安徽冶金科技职业学院 二O一六年二月商品维护管理系统内容摘要:本课题的内容是商品维护管理系统网站的开发,是在电子商务不断成熟的信息时代背景下,解决商品和用户信息维护管理问题,实现客户端和服务器的动态交互。其特点是快捷的操作方式,简易的管理方法,安全的机制方案。其采用B/S模式设计,使用MVC架构整体开发,使用当前较为热门的JSP技术,前台采用CSS+DIV进行布局,引入jQuery标准库并使用Ajax方法以及XML或JSON格式传输数据;后台使用SQL Server 2005数据库。开发主要包括后台数据库的建立以及Web前端和后端的开发两个方面。本文从上至下分析了系统开发的过程,为后台管理系统的设计打下良好基础,最后对此次毕业设计做了总结。关键词:后台管理;MVC;JSP;JDBC;JavaBean;目录前言21 概述21.1 研究背景21.2 研究目的22 数据库设计22.1 详细设计22.2 结构设计22.3 逻辑结构设计23 系统总体设计23.1 开发环境和工具23.1.1 开发环境23.1.2 运行环境23.1.3 JSP动态网页技术23.1.4 SQLServer数据库23.1.5 Mysql数据库23.1.6 MyElipse工作平台23.1.7 Tomcat 应用服务器23.1.8 JBoss 应用服务器23.2 系统功能结构设计23.3 系统开发模式设计24 系统详细设计24.1 管理员模块24.1.1 登陆24.1.2 注册24.1.3 管理24.2 商品管理模块24.2.1 添加24.2.2 显示24.2.3 搜索24.2.4 修改24.2.5 详情24.2.6 删除24.3 用户管理模块24.4 经典技术应用24.4.1 md5摘要算法24.4.2 Ajax交互技术24.4.3 iframe提交表单24.4.4 SQL分页技术25 结论2参考文献2前 言近年来,随着信息时代的发展,因特网已日益进入了我们生活的各个方面,越来越多地影响着我们的生活。电子商务因其高效、方便、灵活等独有的优越性,打破了传统的“推销员满天飞”,“采购员遍地跑”,“说破了嘴,跑断了腿”的商务活动,给人们的生活与消费带来了极大的便利,并对传统的商业形式造成了很大的冲击,阿里巴巴就是典型的代表。在当今的业务发展趋势下,各种企业和机构都需要进行改造和调整来适应迅速变化的商务环境,电子商务为企业节约成本,提高效率,增加收益,扩展市场,提高效率并抓牢客户,具有灵活性和可扩展性,还能相互集成。因此,这就对企业和机构使用的信息系统提出了较高的要求。动态网站技术便是整个贸易活动实现自动化平台重要的技术手段。世界上目前流行的动态网站技术有ASP、JSP、PHP等,而JSP已经成为开发Web动态网站的重要而快速的工具。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet,所以它应该是未来发展的趋势。该系统是一个商品维护后台管理系统,首先进入该系统的用户必须是已注册的授权用户,它的功能是维护和管理商品以及会员的信息,简单来说就是实现对数据库的增、删、查、改。另外,在用户界面上,通过层叠样式表做了一些美化,体现出一定的美感。1概述1.1研究背景电子商务(Electronic Comerce)即基于互联网、广播电视网和电信网络等电子信息网络进行的生产、营销、消费和流通活动,是以实现整个商务过程的电子化、数字化和网络化的新型经济活动。它不仅指基于互联网的新型交易或流通方式,而且指所有利用电子信息技术来解决扩大宣传、降低成本、增加价值和创造商机的商务活动。电子商务是互联网时代的产物,随着互联网的高速发展,电子商务已经不是一个单纯的商业概念,是一个以互联网支撑的集信息流、商流、资金流、物流为一体的整个贸易过程。它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。随着internet的快速发展,中国的网民数量每年都以惊人的速度在增长,电子商务在中国得以迅猛发展,再加上第三方支付平台及安全性的晚上,网络购物取得了快速的发展,从而逐渐是的网络购物成为当今社会的一种时尚。根据移动网购统计数据显示,2014年Q1中国网购用户数量已经超过3.1亿人。且网络购物正从PC端不断向移动端渗透。预计未来几年中国移动购物将继续保持高速增长态势,到2015年中国移动购物市场规模有望超过3500亿元,用户规模有望超过5.2亿人。1.2研究目的在目前的大中型零售业中,往往需要处理的商品种类数以万计,而且每天所发生的进货和销售情况纷繁复杂。如果借助人工来实现这一系列数据记录和管理,工作量将极为巨大,而且容易出现错误,造成管理上的混乱;更何况还需要对商品的数据进行统计和分析。所以一个好的商品销售管理系统是必不可少的。再者,贸易信息化的建置,可以根据每个零售业的性质不同而有所不同,而建置的过程中需要经营者提供基本数据和流程规划。这样才能借助信息化的帮助而使销售业绩跃上一个新台阶。系统开发的总体任务是实现商品信息管理的系统化,规范化和自动化。商品信息管理系统可全面掌握商品销售的各种动态信息。2 数据库设计2.1详细设计数据项和数据结构如下:(1) 管理员信息表:编号 ,用户名,密码,真实姓名,邮箱,登陆日期;(2) 商品信息表:编号,商品类别,商品名称,商品介绍,商品图片,商品原价,商品现价,上架时间;(3) 会员信息表:编号 ,用户名 ,密码,真实姓名,性别,电话,邮箱,地址,邮编,登陆日期;(4) 商品分类信息表:编号,类别名称,类别地址;(5) 订单信息表:编号,下单日期,商品价格,运费价格,总价格,邮寄方式,姓名,电话,邮编,地址,邮箱,是否付款,是否寄出,是否收货,管理员,收货日期;2.2结构设计根据系统分析的结果,具体分析不同实体用户,描述不同实体之间的关系,得出系统数据实体图和E-R图。E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形内写明实体名。属性:用椭圆表示,并用无向边将其与相应的实体连接起来。管理员实体E-R图如图2-1所示。图2-1管理员实体E-R图商品实体E-R图如图2-2所示。图2-2商品实体E-R图会员实体E-R图如图2-3所示。图2-3会员实体E-R图商品分类实体E-R图如图2-4所示。图2-4商品分类实体E-R图订单实体E-R图如图2-5所示。图2-5订单实体E-R图2.3逻辑结构设计表2-6管理员信息表(tb_Admin)字段名数据类型字段描述长度主键AdminIDint编号0AdminNamevarchar用户名50Passwordvarchar密码50RealNamevarchar真实姓名50Emailvarchar邮箱50LoadDatedatetime登陆日期0表2-7商品信息表(tb_GoodsInfo)字段名数据类型字段描述长度主键GoodsIDint编号0ClassIDint商品类别0GoodsNamevarchar商品名称50GoodsIntrovarchar商品介绍200ImageUrlvarchar商品图片200MarketPriceHotPriceLoadDatefloatfloatdatetime商品原价商品现价上架时间000表2-8会员信息表(tb_User)字段名数据类型字段描述长度主键UserIDint编号0UserNamevarchar用户名50Passwordvarchar密码50RealNamevarchar真实姓名50Sexbit性别0PhonecodeEmailAddressPostCodeLoadDatevarcharvarcharvarcharvarchardatetime电话商品邮箱地址邮编登陆日期2050200500表2-9商品分类信息表(tb_Class)字段名数据类型字段描述长度主键ClassIDint编号0ClassNamevarchar类别名称50CategoryUrlvarchar类别地址500表2-10会员信息表(tb_User)字段名数据类型字段描述长度主键OrderIDint订单编号0OrderDatedatetime下单日期0GoodsFeefloat商品价格53ShipFeefloat运费价格53TotalPricefloat总价格53ShipTypeReceiverNameReceiverPhoneReceiverPostCodeReceiverAddressReceiverEmailIsConfirmIsSendIsEndAdminIDConfirmTimevarcharvarcharvarcharvarcharvarcharvarcharbitbitbitintdatetime邮寄方式姓名电话邮编地址邮箱是否付款是否寄出是否收货管理员收货日期505020102005000000数据库各个表之间的关系设计如图2-11所示。图2-11数据库表关系图3系统总体设计3.1开发环境和工具3.1.1 开发环境系统运行平台为Windows10操作系统,Web应用服务器Tomcat6,数据库采用SQL Server 2005,编译环境为JDK1.6.0,网页设计工具为UltraEdit和Macromedia Dreamweaver 8,使用MyElipse8.6企业级集成开发环境让网站的建设能够快速有效的完成。网站采用了模块化的建设方法,把每个单独的功能分开,使网站能够更容易的添加新功能模块,删除旧模块。3.1.2运行环境系统运行平台为Red Hat Enterprise Linux系统,Web应用服务器JBoss Application Server 7,数据库采用MySQL 5.5。使用Navicat Premium工具对数据库进行管理和维护。3.1.3JSP动态网页技术JSP(Java Server Pages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,他在传统的网页HTML文件(htm,.html)中加入Java程序片段和JSP标记,就构成了JSP网页(.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页等,这是动态网站常需的功能。JSP是面向服务器的,当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean TM组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构造中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因JSP所有程序操作都在服务器端执行传送给客户端的仅是得到的结果。图3-1-3JSP运行原理图3.1.4SQLServer数据库Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。3.1.5Mysql数据库MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库3.1.6MyElipse工作平台MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,Ajax,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。3.1.7Tomcat 应用服务器Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。3.1.8JBoss 应用服务器是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。3.2系统功能结构设计商品维护管理系统主要由管理员模块,商品管理模块,用户管理模块组成。管理员模块主要包含2个功能模块:管理员登陆,管理员注册。商品管理模块主要包含4个功能模块:商品添加,商品显示,商品详情,商品删除。用户管理模块主要包含4个功能模块:用户添加,用户显示,用户详情,用户删除。图3-2系统功能模块结构图3.3系统开发模式设计MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。图3-3MVC框架流程图MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: Model(模型)表示应用程序核心(比如数据库记录列表)。是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。View(视图)显示数据(数据库记录)。是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。Controller(控制器)处理输入(写入数据库记录)。是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。4系统详细设计4.1管理员模块4.1.1登陆(1)功能描述:管理员登录是一个验证过程,客户端的应用程序首先检查验证登陆信息是否合法,然后提交请求给服务器,服务器开始验证,从数据库获取该用户的信息,如用户登录名和用户密码等,根据验证结果答复请求,客户端接收答复并根据答复内容提示用户或进入下一步操作页面。(2)流程图:本系统的管理员登录流程图如图4-1-1所示。图4-1-1管理员登陆流程图(3)用户界面:管理员登陆界面是后台的index.jsp首页,管理员登录时需要输入三个信息:管理员用户名,密码,验证码,三个信息缺一不可,否则会提示某项信息不能为空。点击登陆会调用jQuery的Ajax方法向服务器提交登陆请求,其中密码项由MD5算法加盐生成摘要。管理员登陆界面如下图4-1-1-2所示:图4-1-1-2管理员登录页面4.1.2注册(1)功能描述:管理员注册也是一个验证过程,当用户输入用户名后客户端的应用程序会请求服务器检查用户名是否存在,如果该用户名已存在则会提示用户更换用户名。用户点击注册按钮,客户端应用程序检查验证注册信息是否合法,然后提交请求给服务器,服务器首先判断验证码是否正确,然后检查用户名是否重复,并再次判断各项格式是否合法,根据验证结果答复请求,客户端接收答复并根据答复内容提示用户或进入登陆页面进行登陆。(2)流程图:本系统的管理员注册流程图如图4-1-2所示。图4-1-2管理员注册流程图(3)用户界面:管理员注册页面可以从管理员登陆页面左下角的超链接访问。除了用户名以及密码项,还有用来确保密码输入正确的重复密码项。另外,邮箱和真实姓名项同为必填项。当用户注册成功后将自动跳转到管理员登录页面。管理员登陆界面如下图4-1-2-2所示:图4-1-2-2管理员注册页面4.1.3管理(1)界面布局:用户成功登陆,进入管理员管理页面。页面采用灵活性强的DIV+CSS+Ajax布局,共四个区域:头,导航,工作区,版权。图4-1-3管理员管理页框架图(2)流程图:因为本界面只面向管理员,所以请求时本页面首先判断用户是否为合法的管理员,如果Session中用户名项是存在的则响应正常页面,否则响应请求直接跳转到登录页。本系统的请求管理首页流程如图4-1-3-1所示。图4-1-3-1请求管理员首页流程图(3)用户界面:管理员管理首页如下图4-1-3-2所示:图4-1-3-2管理员管理页面4.2商品管理模块4.2.1添加(1)功能描述:本页用于添加新商品,当客户端浏览器页面元素加载完成后,向服务器请求获取以JSON编码的商品分类数据,服务器响应请求并返回数据,客户端遍历并将数据添加至商品类别的下拉菜单中。用户选择上传图片时,文件类型默认为图片类型,当用户提交时。客户端将判断文件格式是否符合要求。(2)流程图:因为本表单中需要上传图片文件,所以设置表单的MIME编码为multipart/form-data即二进制数据。服务器接收到客户端POST请求,后台将判断POST数据中每一项值是文本表单项还是二进制的文件,并区别处理。当某项为二进制文件时再判断文件名是否为空以确定文件是否存在,如文件存在则保存到响应目录下。本系统的商品添加流程图如图4-2-1所示。图4-2-1商品添加流程图(3)用户界面:本页面UI源码中嵌套了一条显示属性为隐藏的iframe标签,其作用是实现无刷新提交表单,做法是将表单目标窗口target属性设为iframe的ID。商品添加页面如下图4-2-1-2所示:图4-2-1-2商品页面4.2.2显示(1)功能描述:本页面将以表格的形式展示商品基本信息,与添加页相同的是客户端页面元素加载完成后向服务器请求获取以JSON编码的商品分类数据。接着才是向服务器请求各商品的信息,同样是以JSON编码格式传输数据,请求的数据项包括:请求的页码,当前页码最多显示的商品数量。(2)流程图:本系统的商品显示流程图如图4-2-2所示。图4-2-2商品显示流程图(3)用户界面:本页面右上方有完成搜过功能的文本框和按钮;左上方有用来调整表格商品显示数量的功能;右下方是更换页码显示的按钮,点击某页码时客户端请求该页码,获取数据后重新绘制表格。商品显示页面如下图4-2-2-2所示:图4-2-3-2商品显示页面4.2.3搜索(1)功能描述:位于显示页面右上角,用于模糊搜索商品名,快速查找商品信息,提高工作效率。(2)流程图:在搜索框输入商品名后点击搜索按钮,客户端向服务器发送请求,提交的数据有:商品名搜索关键词,当前页数(默认1),每页显示记录数。后台调用的方法为显示页面的方法改写得来,只是需要再处理一下商品名搜索关键词即可。客户端得到服务器应答后,判断模糊查询到的商品数据量如果为0,则提示没有搜索到结果。本系统的商品搜索流程图如图4-2-3所示。图4-2-3商品搜索流程图(3)用户界面:商品搜索结果如下图4-2-3-2所示:图4-2-3-2商品搜索结果4.2.4 修改(1)功能描述:修改商品信息。(2)流程图:参考商品添加流程图。(3)用户界面:本系统的商品修改页面如下图4-2-4-2所示:图4-2-4-2商品修改页面4.2.5详情(1)功能描述:查看商品详细信息。(2)流程图:本系统的商品详情流程图如图4-2-5所示。图4-2-5商品详情流程图(3)用户界面:商品详情下方有删除,编辑按钮。点击商品图片将在新窗口中查看大图。商品详情页面如下图4-2-5-2所示:图4-2-5-2商品详情页面4.2.6删除(1)功能描述:删除对应编号的商品。(2)流程图:本系统的商品删除流程图如图4-2-6所示。图4-2-6商品删除流程图(3)用户界面:商品删除提示如下图4-2-6-2所示:图4-2-6-2商品删除提示4.3用户管理模块用户管理模块所处理的对象是注册用户,同样实现了添加,显示,搜索,修改,详情,删除六大功能,因为设计流程及方法与商品管理模块一致,所以请参考商品管理模块的功能介绍,流程图,用户界面。4.4经典技术应用4.4.1md5摘要算法(1)相关介绍:MD5(Message-Digest Algorithm 5)中文为消息摘要算法第五版。作用是把一个任意长度的字节串变换成一定长的十六进制数字串。属于单向加密是一种不可逆的算法,主要应用在认证流程。它有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、易计算:从原数据计算出MD5值很容易。3、抗修改性:对原数据进行任何改动(1bit),所得到的MD5值都有很大区别。4、强抗碰撞:想找到两个不同的数据,却具有相同的MD5值,是很难的。(2)具体应用:本项目在客户端和服务器两端登陆认证都是用了md5摘要算法,主要是对用户密码进行不可逆转换。在客户端使用md5摘要算法,对提交的数据值进行不可逆加密,避免密码明文传输。比如在使用不安全的公共网络的情况下,别有用心的人使用Cain等软件对局域网内的网络设备进行嗅探并截获数据包,他也不知道用户实际输入的密码是什么;在服务器使用md5摘要算法,对请求的数据值进行二次不可逆加密存储,避免密码明文保存。比如,即使黑客成功获得或修改了数据库里用户认证的数据,也不能直接使用这些数据通过用户认证。图4-3-1md5算法二次加密(3)加强措施:我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后查散列值字典,得到某用户的密码。网上就有很多md5反向碰撞解密的网站。为了增加破解难度加强MD5的安全性,使用加Salt可以一定程度上解决这一问题。加盐就是在密码里加入其他字符串然后再进行散列,比如客户端使用的的盐值主要是该用户的用户名,这样既可以盐值用户私有化,又可以减轻一定的开发压力。4.4.2Ajax交互技术(1)相关介绍:Ajax(Asynchronous Javascript And XML),是指一种创建交互式网页应用的网页开发技术。Ajax= 异步 JavaScript和XML(标准通用标记语言的子集)。Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。而Ajax可以使网页实现异步更新,通过在后台与服务器进行少量数据交换。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。(2)具体应用:本项目在各个模块都有使用Ajax技术,因为直接使用Ajax十分繁琐,所以项目使用jQuery库封装好的完整Ajax实例方法,这样能很大的简化代码量,并且还可以解决客户端不同浏览器的差异问题。图4-3-2Ajax工作原理(3)常见误区:对Ajax使用XML的情况有所误解是经常得,尤其是该技术的核心对象XMLHttpRequest也暗示着XML,看起来它似乎是通过 HTTP 请求发送 XML 或者以某种 XML 格式发出而来,然后该对象只是使用普通的 HTTP协议,而非XML在幕后使用。XML只是一种格式。通常情况下,90%的应用程序都会以使用名=值(name=admin)这种对应关系的数据,以普通文本的形式发送到服务器。(4)扩展应用:在Ajax开发中,主要的数据交换格式有XML和JSON,相比之下XML格式文件庞大,传输时占用宽带。服务器和客户端上代码量大且维护困难,并且解析起来耗费资源多。而JSON格式是压缩的,占用宽带小。广泛支持编程语言,该格式的转换、生成和解析方便,易维护。所以本项目选用轻量级的JSON。4.4.3iframe提交表单(1)相关介绍:目前所有新浏览器都支持 标签。该标签会创建包含另外一个文档的内联框架(即行内框架),它是框架常见的一种形式。由于使用ajax无法直接提交表单中的文件,因此本项目用它来实现无刷新提交含有文件的表单。当然也可以使用上传插件如jquery.form.min.js等实现无刷新上传文件,不过iframe更简便,Gmail邮箱中上传文件用的就是iframe。(2)具体应用:前台代码中主要是form和iframe两个标签以及callback回调方法,与普通文本表单不同的是form标签的target属性值设为iframe的ID,MIME编码设为multipart/form-data二进制数据。将iframe设为不可见,即display属性值设为none。Callback回调方法可用于清空文本框以及显示提示信息。其他设置与普通表单一样,这样提交表单后整个页面不会刷新,刷新的则是这个隐藏的iframe局部页面。服务器接收请求后响应客户端,客户端会调用服务器返回的对应callback回调方法。(3)常见误区:将该方法误以为是Ajax处理数据上传,因为Ajax是异步JS和XML,而本方法只是做到异步刷新的效果,最多称的上类Ajax处理。当然该方法只是在XMLHttpRequest Level 1的层次上使用,如今XHR2(XMLHttpRequest Level 2)可以轻松实现Ajax上传。XHR2有三大特性:跨域请求,传输二进制流,实现上传进度条。XHR2可以提交 FormData实例,该实例可以append File/Blob实例。利用FormData对象的优点就是我们可以异步上传一个二进制文件。(4)扩展应用:到这里文件是可以无刷新上传了,但是如果需要同时上传多个文件,解决的方法是把代码拷贝三份,这是普通开发的方法,然而我们可以利用JS动态生成这些代码。在需要上传文件的地方,调用写好的上传函数加参数就可以了。其中参数主要是指:iframe的id值,提交的服务器地址,文件的格式等。动态生成的代码主要是iframe、form和input标签,并把这些标签插入到body中。使用方法是在前台放一个按钮,点击该按钮将触发上传函数,上传函数内部将创建上传必须的元素,并自动触发input选择文件。当用户选择文件后验证文件格式是否符合要求并提交给服务器,最后后端以返回的数据调用对应的回调函数。4.4.4SQL分页技术(1)相关介绍:数据库分页技术能够帮助浏览者更好的查看信息,不同数据库实现分页时的方法也各有不同。本项目主要使用两种不同数据库分页显示的实现方法,下面将提出如何高效率分页技术的若干方案。(2)基本思想:前台提交以平均每页若干记录的某页数据的请求,后台业务层获得数据库记录总数,通过公式计算出开始和结束的记录序号,公式如下:开始记录序号=(请求页码 -1)*平均每页记录数 + 1;结束记录序号=请求页码 *平均每页记录数。然后将这两个值以参数形式传给数据访问对象,让它直接从数据库里获得所需要的记录。最后业务层封装好数据来响应请求(3)MySQL:语法SELECT * FROMtable_nameLIMIT position, counter,该数据库分页查询代码比较简单,由于不支持TOP关键字,因此只使用LIMIT关键字方案。该语句中position是记录的开始位置(起始为0),counter是从position开始往后获取的记录条数。(4)SQL Server:该数据库有多个方案供参考选用。方案一,使用ROW_NUMBER() OVER函数左子分页查询。语法:ROW_NUMBER()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织专业试题及答案
- 电子基专业试题及答案
- 专业证书课程试题及答案
- 国贸专业试题及答案
- 江苏省泰州市兴化中学2025-2026学年高三上学期开学化学试题(含答案)
- 金融专业试题及答案
- 旅游法律法规试题
- 票务系统施工方案
- 地理信息系统技术标准与应用
- 入学典礼发言稿范例
- 《测绘管理法律与法规》课件-测绘标准化
- 安全管理办法与质量安全的协同管理
- 大学数学思维方法课程设计
- 第1课 社会主义在中国的确立与探索【中职专用】高一思想政治《中国特色社会主义》(高教版2023基础模块)
- 班级管理中的心理学(合集7篇)
- 社区工作-徐永祥-高教出版社-全要点课件
- 敬畏规则行有所止生命教育主题班会
- 哮病(支气管哮喘急性发作)中医护理方案
- 中小企业员工离职原因分析与对策研究
- GB/T 9728-2007化学试剂硫酸盐测定通用方法
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
评论
0/150
提交评论