第一篇:Spring MVC使用总结
Org.springframework.ui.ModelMap传递数据供视图所用
${base}取的是当前页面所在的路径。它随页面的位置改变而改变。
web开发一共有四个作用域,范围从高到低分为appliaction作用域(全局作用域),session作用域,request作用域和page作用域。
${base}是el表达式语法,它会自动先从page作用域开始查找,如果没有再找request作用域,然后是session,最后再是application作用域。
动态网页项目,页面直接访问的是webcontent下的。
Weblogic.xml配置文件作用: weblogic.xml主要配置web容器的一些属性,比较JSP编译时间间隔、编译路径等 web.xml是配置整个应用工程的属性,如servlet等
你用tomcatjboss等web容器和weblogic一样,它们单独有自己的配置文件
视图解析器
SpringMVC用于处理视图最重要的两个接口是ViewResolver和View
FreeMarkerViewResolver是继承自springmvc的一个接口,只是和freemarker同名而已
XmlViewResolver
貌似工具库里面定义好了(如ftl、分词库),然后在common中用
<@s.m “error.errorMessage”/>什么意思??
视频
spring mvc
freemarker
金磊
今天问题
VECTOR-
脚本语言-
注解--
为什么frame要经过FrameAct.java一下,再返回??
@Controller是spring的Controller控制器?
为什么我新建的html是
别人是
jar包
apache下的jar包
apache-ant-zip-1.8.0.jar(ant是什么??它的jar包??ant是脚本引擎,脚本语言有
JavaScript)
c3p0-0.9.1.2.jar
commons-codec-1.3.jar
commons-net-2.0.jar
commons-net-ftp-2.0.jar
dwr.jar
ehcache-1.6.2.jar
ganymed-ssh2-build251beta1.jar
htmlparser-1.6.jar
httpclient-4.0.3.jar
httpcore-4.1.jar
IKAnalyzer2012_u6.jar
jcaptcha-1.0.jar
jcl-over-slf4j-1.6.1.jar
jmagick.jar
json.jar
jta-1.1.jar
jug-2.0.0.jar
log4j-over-slf4j-1.6.1.jar
logback-classic-0.9.27.jar
logback-core-0.9.27.jar
lucene-core-3.0.3.jar
mailapi-1.4.2.jar
memcachedclient-2.0.1.jar
mysql-connector-5.1.8.jar
quartz-1.6.0.jar
slf4j-api-1.6.1.jar
smtp-1.4.2.jar
spymemcached-2.3.1.jar
----
spring mvc环境搭建:
1、web.xml,启动Dispatcher2、创建servlet3、创建controller.java(在spring mvc中,只要加了@controller就说明它是一个controller控制器了,非常简单)
其它注解
@RequestMapping(“/frame/config_main.do”)只要页面上访问这个路径,就会返回这
个注解下的方法的return的方法。
学习任何MVC都要掌握的步骤:
1、搭建环境(写hello world)
2、传值
3、截获值
4、分发值
5、源码
6、异常
7、上传下载
第二篇:SpringMVC深入总结--什么SpringMVC(中关村北大青鸟网上学堂)
网址 http:///电话 010-62516562企业QQ 800001099
SpringMVC深入总结--什么是SpringMVC
大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。
官方的下载网址是:http:///admin/blogs/698217
Spring3 MVC的优点:
1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。
2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)
3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。
Struts2的众多优点:略...(呵呵,是不是不公平?)
众多文章开篇时总要吹些牛,吸引一下读者的眼球,把读者的胃口调起来,这样大家才有兴趣接着往后看。本文也没能例外。不过保证你看了之后不会后悔定有收获。
资料来源——中关村北大青鸟官网网上学堂http:///
地址 北京市海淀区中关村大街49号大华科技商厦三层c座
第三篇:基于springmvc的购物系统论文20140508
成都学院学士学位论文(设计)
基于SpringMvc的购物平台的设计与实现
专
业:软件工程
学
号:201010414511
学
生:任 宇 桐
指导教师:李立
摘要:随着信息化时代的蓬勃发展,网上购物平台作为电子商务的一种形式,正在高速的发展。当今社会已经越来越多的人开始接受并乐意于网上购物,网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。
本文设计并开发了一个网上购物商场,该购物平台以品牌为中心进行管理,系统平台可以以加盟的方式提供各品牌的网络销售渠道,并通过该系统对品牌、商品等的管理。文中介绍了实现程序的相关技术与开发工作环境,详细阐述了整个系统的设计和架构、系统的整理流程以及各个模块的功能和关系。本设计使用MyEclipse开发环境结合Mysql、Tomcat,实现了对管理、品牌、类型、商品、订单等的管理,最后实现了一个稳定的、健壮等购物平台。关键词:购物;平台;品牌;商品;MyEclipse
成都学院学士学位论文(设计)
The Design and Implementation of shopping platform
based on SpringMvc
Specialty: Software Engineering
Student Number: 201010414511
Student: Ren Yutong
Supervisor: Li li
Abstract: With the rapid development of the information age, online shopping as a form of e-commerce platform, is a high-speed development.Today's society more and more people begin to accept and be happy online shopping.Online shopping is adapted to the fast pace of life in today's society, so that customers can enjoy the convenience quickly and easily buy their favorite products.This paper article is designed and developed an online shopping mall.The shopping platform to brand-centric management system platform can provide a way to join the brand's network of sales channels, and through the system management of the brand, produc and so on.This paper describes the realization of the program of technical and development work environment, elaborated on the relationship between functionality and overall system design and architecture, finishing systems and processes of each module.This design uses MyEclipse as a development environment, combined with the Mysql database, Tomcat server to achieve the management of brand, type, commodity, orders and so on.Finally achieve a stable, robust and other shopping platforms.Key words: Shopping;Platform;Brand;MyEclipse
成都学院学士学位论文(设计)目 录
绪 论...........................................................................2 1 需求分析......................................................................4 1.1 功能需求分析..............................................................4 1.1.1 商品浏览..............................................................4 1.1.2 商品购买..............................................................4 1.1.3 登录注册..............................................................4 1.1.4 个人中心..............................................................5 1.1.5 后台管理..............................................................5 1.2 可行性分析................................................................5 1.2.1 经济可行性............................................................5 1.2.2 技术可行性............................................................5 1.2.3 操作可行性分析........................................................6 1.2.4法律可行性............................................................6 2 相关技术介绍..................................................................7 2.1 JAVA语言介绍..............................................................7 2.2 SPRING介绍................................................................7 2.3 SPRINGMVC介绍..............................................................7 2.4 HIBERNATE介绍..............................................................7 2.5 JAVASCRIPT介绍.............................................................8 2.6 JQUERY介绍................................................................8 2.7 FREEMARKER介绍.............................................................9 2.8 开发平台与工具介绍........................................................9 2.8.1 MyEclipse工具介绍....................................................9 2.8.2 Mysql数据库介绍......................................................9 2.8.3 服务器Tomcat介绍.....................................................9 3 数据库分析与设计.............................................................10 3.1 数据库设计原则...........................................................10 3.2 数据库结构设计...........................................................10 3.3 ER关系图................................................................14 4 系统概要设计.................................................................15 4.1 系统功能模块结构图分析...................................................15
I
成都学院学士学位论文(设计)4.2 系统功能流程图...........................................................16 5.1 公共模块设计与实现.......................................................17 5.1.1 程序目录结构.........................................................17 5.1.2 系统整体架构.........................................................17 5.1.3 baseDao介绍.........................................................18 5.1.4 分页bean介绍........................................................19 5.2系统模块实现.............................................................19 5.2.1 商品展示和购买模块...................................................20 5.2.2 个人中心模块.........................................................24 5.2.3 注册登录模块.........................................................24 5.2.4 系统管理员后台管理模块...............................................26 5.2.5 品牌管理员管理内容模块...............................................29 6 重难点分析及解决方案.........................................................32 6.1 HIBERNATETEMPLATE的应用....................................................32 6.2 FREEMARKER的应用..........................................................33 6.3 树形结构插件JQUERY ZTREE..................................................35 6.4 文件上传插件UPLOADFLY.....................................................37 6.5 AJAX分页.................................................................37 7 系统测试.....................................................................39 7.1 功能测试.................................................................39 7.2 性能测试.................................................................39 8 系统部署.....................................................................40 结 论..........................................................................41 参考文献.......................................................................42 致 谢..........................................................................43
II
成都学院学士学位论文(设计)绪 论
研究的目的
随着社会以及信息技术的发展,如今的互联网已经深入到人们生活的方方面面,网上购物也成为一种年轻人甚至是老人和小孩的一种购物方式,运营商以及店家的努力,网上购物已经变得简单、方便、快捷,越来越多的人喜欢上这样一种购物方式。在国内淘宝、天猫、京东这几大网上商城合力促进了网上购物在中国的发展。
关于本课题的购物平台的设计是为了能够跟上广大人民网购的一个需求,系统会尽量设计得小巧,作为一个平台去适应不同内型的商品,在一定程度上增加购购物平台的商品信息处理量,细化分类,这样来给用户提供准确的商品信息,便于用户的查询等。该购物平台也拥有一些普遍的功能包括商品管理、订单管理等等,同时所有人都能够浏览所有商品,当需要购买商品的时候则需要登录。同时该系统站在一个平台的角度,以品牌为核心进行管理,通过系统以品牌加盟的形式产生管理员,一个品牌对应于一个管理账户,系统通过系统管理员对品牌管理员进行管理,这样该系统就同时站在商家以及消费者双方,为双方提供服务。
研究的意思
总体而言该设计将实现一个小巧灵活的购物平台,该平台能够让用户通过更加简洁的方式了解到具体的商品,从而实现一个能够适应大众化的购物平台,提高网站与用户的交互,做到更加的人性化。
国内现状
在我国,网上购物的理念后起与国外,但是发展速度也是惊人的,网上购物系统已经得到了很大的发展,在淘宝、天猫以及一些有名的团购网以及返利网的带动下,整个行业已经成熟。各种系统都在以客户为中心,给客户提供好的服务,在系统功能上也是取得了非常大的进度,这两天淘宝退出的双十一活动中,能够单日创下300亿的交易额,这体现了国内的主要的大商场有能力处理高并发等特殊情况,国内现有系统是非常健壮、稳定、可靠的。
随着人民生活水平的改善以及信息技术、电子商务等的快速发展,目前而言绝大多数的商家都已经在网上建起了在线商店或者在淘宝、天猫、东京商城上面上架,向消费者展示出一种新颖的购物理念,并且绝大多数人已经结束并且喜欢这样一种购物方式。
国外现状
在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛、凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。调查表明:美国的家庭己越来越习惯于在家中从网上购物。
成都学院学士学位论文(设计)发展趋势
网上购物是信息时代的产物,会随着信息时代的发展继续发展,也会有越来越的的人选择和喜欢这种购物方式,在未来很有可能网上购物成为人们购物的首要方式,购物系统也会越发的完善和人性化。随着社会的发展对于平台以及双赢等思想也逐渐运用于该领域,比如一些返利网、折扣网、团购网等等已经在体现这方面的思想了,商家在追求销量的情况下开始向消费者让利。在未来这种营销的方式应该会在电商中不断的发展下去,逐渐提高消费者的受益的比例。
成都学院学士学位论文(设计)1 需求分析
在本章中将详细介绍整个系统的需求,并且对系统的可行性作出分析,从而让读者了解本系统具体实现的功能以及在设计和实现上是否可行等。
1.1 功能需求分析
该系统为一个购物平台,拥有普通购物网站的大多数基本功能,如:商品的浏览、商品加入购物车、下订单、用户登录、管理个人中心以及管理员在后台对品牌、商品、商品的类型的管理功能等,本节会尽量按照软件工程[1]的思想来分析本系统。
1.1.1 商品浏览
所用的人都能够浏览本网站上的所有商品,商品按照品牌、商品类型、精品商品、特价商品、热销商品、单个商品等的方式将系统中的商品展示给消费者,并提供搜索功能,按照商品的名称等进行搜索。
1.1.2 商品购买
当消费者选择好商品以后,可以将商品加入到自己的购物车中,然后在购物车中进行交易支付,也可以在选择好商品的同时下订单,进行支付交易,当然所有的操作都是需要用户登录的。
1.1.3 登录注册
对于系统登录注册是针对于系统的角色而言的,本系统整体上分为三类角色。其一系统管理员,拥有对系统的简单的管理和管理员管理的功能,系统管理员有系统内置生成。其二是品牌管理员,一个品牌管理拥有一个品牌管理员账号,通过该账号管理该品牌下的所有的资源和信息,包括对自己信息的管理和品牌信息的管理以及品牌下商品类型的管理、商品信息、订单信息等的管理。其二是系统会员,也就是要通过该网站购物的会员,会员登录过后对个人中心进行管理,包括自身信息、登录密码、支付密码、购物车、订单等的管理。
对于注册则主要针对于品牌管理员和会员的注册,品牌管理员注册需要连同品牌信息一同注册,注册成功过后等待系统管理员的审核,审核通过过后就可以对自己品牌的各项信息进行管理。对于会员的注册需要用户名、密码、邮箱地址等,对于会员的注册则不需要系统管理员的审核。注册成功过后登录系统进入到个人中心能够完善自己的各项信息和其它的一些信息的管理。
成都学院学士学位论文(设计)1.1.4 个人中心
会员购买商品时需要登录才能够购买商品,会员登录过后能够进入到个人中心,在个人中心中会员能够管理自己的基本信息,包括:用户名、邮箱地址、电话号码、收货地址等,同时能够管理自己的登录密码和支付密码,当购买商品的时候还能对自己的购物车和自己的购买记录进行查看和操作。
1.1.5 后台管理
系统管理员和品牌管理员都可以进入到系统后台,根据不同的角色管理不同的项。系统管理员拥有最高权限,但是并不是管理所有的内容,在本系统系统管理员最主要的功能则是对品牌管理员的管理,每一个注册的品牌管理员都需要通过系统管理员的审核才能够使用。品牌管理员相对系统管理员而言管理的内容要相对多许多,但是也都是管理本品牌的内容。品牌管理员的管理内容包括自己基本信息的管理、品牌信息的管理、类型的管理、商品的管理、订单的管理等。
1.2 可行性分析
在系统的设计和开发之前都会对系统有一个大体的认识并且通过总共分析来确定系统是否值得开发、系统是否能够很好的开发出来以及开发出来过后的实际效益等等。本节将通过经济可行性、操作可行性、技术可行性等方面对系统的可行性进行详细的分析。
1.2.1 经济可行性
设计和开发购物系统的硬件和软件以及服务器要求都不高,拥有一台普通的个人电脑或者PC机均可。要通过Java设计开发这套系统需要在个人电脑上配置Java的运行环境Jdk和Jre,同时配置服务器Tomcat、开发工具MyEclipse、数据库Mysql,这些都是免费的,所以在这个电脑普及率非常高的情况下,这套系统的开发经费几乎为0,所以在经济方面是可行的。
1.2.2 技术可行性
本系统的开发采用Spring和Hibernate作为核心,这两门技术是JavaEE最热门也是使用最广泛的两种框架,在网络上拥有大量的资料、资源,相对应的社区也是非常的活跃。另外这也是自己所熟悉的框架,平时自己在学习和工作中有大量的使用,所以在网站的后台开发方面问题不大。对于网站的前端而言,自己对于Javascript、Jquery、Css、Css3.0也有不少的了解,特别是对于Javascript和Jquery是很熟悉的,有足够的能力来处理好网站的布局、网站效果的实现、网站特效、数据请求处理等。
成都学院学士学位论文(设计)另一发面该系统整体的业务逻辑与一般的购物系统的业务逻辑相似,业务逻辑处理起来也不复杂,所以在配合Hibernate对数据的操作上对于SQL的要求就更加的低了,所以在这方面也是可行的。
综上所述,在技术方面也是可行的。1.2.3 操作可行性分析
整个系统的业务逻辑类似于大多数的购物商场,符合人们平时购物的习惯和操作习惯。整体业务逻辑上以品牌为核心展开,品牌下面包含类型,类型下面包含商品,整体流程非常清晰。另一方面,系统整体的风格为简洁风格,用户的注册、以及其它信息的添加和修改都非常的简洁已操作。综上所述,本系统操作上是可行的。
1.2.4法律可行性
该系统不触及任何的法律法规问题,为大众提供服务,不损坏任何的的利益,所以在法律上是可行的。
成都学院学士学位论文(设计)2 相关技术介绍
2.1 Java语言介绍
Java是Sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和C++类似。同时,Java也是一种跨平台的程序设计语言。用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”。Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。Java可以运行于任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。
2.2 Spring介绍
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
2.3 Springmvc介绍
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow[2]里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
2.4 Hibernate介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB[3]
成都学院学士学位论文(设计)的J2EE架构中取代CMP,完成数据持久化的重任。
2.5 Javascript介绍
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司(已被oracle收购)的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。
Netscape公司在最初将其脚本语言命名为LiveScript。在Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”[2],因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme[4]。JavaScript与Java名称上的近似,是当时网景为了营销[4]考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript脚本语言。Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
ECMAScript-262是JavaScript标准,基于网景(Netscape)公司提出JavaScript语言和微软公司提出的JScript语言
ECMA开始于1996年,在1997年7月,采纳了首个版本,1998年,该标准成为了国际ISO标准
2.6 Jquery介绍
Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互[5]。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id
成都学院学士学位论文(设计)即可。
2.7 FreeMarker介绍
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组件,可以在模板中使用JSP标记库,FreeMarker是免费的。
2.8 开发平台与工具介绍 2.8.1 MyEclipse工具介绍
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。
2.8.2 Mysql数据库介绍
Mysql是最流行的关系型数据库管理系统,在WEB应用方面Mysql是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
2.8.3 服务器Tomcat介绍
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。
成都学院学士学位论文(设计)3 数据库分析与设计
本节将从数据库以及数据表的设计和实现方面详细的介绍整个系统的数据库的设计和实现,并对整个系统的业务逻辑做初步的介绍,在数据库设计方面会尽量的多参与一些在购物平台[7]方面非常优秀的实习。
3.1 数据库设计原则
(1)尽可能的减少数据冗余和重复
合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,应尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。
(2)结构设计与操作设计相结合
在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据。考虑到选择的机器型号和档次等因素,如果增加的冗余数据不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这类方法[15]。
(3)数据结构具有相对稳定性
数据结构的相对稳定性,可以作为新、旧信息系统的转换依据。3.2 数据库结构设计
表3-1 管理员表(admin)
字段名 id name passWord header role isEnable 类型 Integer Varchar Varchar Varchar Int Int
是否是主外键 是 否 否
否
否
否
索引
是 是 否 否 否 否
是否为空 Not-null Not-null Not-null
Not-null Not-null
字段描述 主键ID 登录账号 登录密码 管理员头像 系统角色 是否可用
参照表 — — — — — —
表 3-1 管理员表(admin)管理员表,该表用于存放管理员信息,其中id为主键,不能为空并且自动增长作为索引,另外管理员登录密码经过MD5加密,保证用户信息的安全性,header为用户的头像的路径。Role为系统角色,本系统的后台管理有两种角色超级管理员和普通管理员,role为0表示超级管理员,role为其它值则表示品牌管理员,role对于存放的是品牌的ID。isEnable由于表示用户是否可用,注册的品牌管理员是不可用,需要经过超级管理员的审核,通过该字段超级管理员能够对品牌管理员实现假删除,是品牌管理员不可用。
成都学院学士学位论文(设计)表3-2 会员表(member)
字段名 Id name passWord payPassWord email address phone createDate alertDate loadDate 类型 Integer Varchar Varchar Varchar Varchar Varchar Varchar DateTime DateTime Datetime
是否是主外键
是 否 否 否 否 否 否 否 否 否
索引
是 否 否 否 否 否 否 否 否 否
是否为空 Not-null Not-null Not-null Not-null Not-null
Not-null Not-null Not-null
字段描述 主键ID 用户名 登录密码
支付密码 邮箱地址 收货地址 电话号码 创建时间 修改时间 登录时间
参照表 — — — — — —
— — —
表 3-2 会员表(member)用于存放会员的基本信息,如:用户名、密码(同样经过md5加密)、邮箱地址等,其中id为主键,不能为空并且自动增长作为索引。另外本表中存放的电话号码、用户名、收货地址是作为会员在购物的基本信息,但购物是用户可以修改,最后具体的联系方式、收货地址这些与这些数据没有直接的关系。
表3-3 商品类型表(goodsType)
字段名 Id Name ParentId level trademarkId isEnable 类型 Integer Varchar Integer Int Integer Int
是否是主外键
是 否 否 否 否 否
索引
是 否 否 否 否 否
是否为空 Not-null Not-null Not-null Not-null Not-null Not-null
字段描述 主键ID 类型名称 父类型id 分类等级 品牌id 是否可用
参照表 — — — — — —
表 3-3 商品类型表(goodsType),用于存放商品的类型信息,其中id为主键,不能为空自动增长,name用于存放类型的名称。该表的设计是按照二叉树数据结构来设计的一个无限分类的表结构,parentId用于记录当前类型的父类型的ID值,level则表示分类的等级。trademarkId外键关联品牌表,用于记录当前的商品类似是属于哪一个品牌的,便于以品牌为核心进行管理。
表3-4 品牌信息表(trademark)
字段名 Id Name Remarks icon flag isEnable 类型 Integer Varchar Varchar Varchar Int Int
是否是主外键
是 否 否 否 否 否
索引
是 是 否 否 否 否
是否为空 Not-null Not-null
Not-null Not-null
字段描述 主键ID 品牌名称 品牌简介 品牌图表 品牌类型 是否可用
参照表 — — — — — —
表3-4品牌信息表(trademark),用于存放品牌的基本信息,其中id为主键,不能
成都学院学士学位论文(设计)为空自动增长,其它的字段存储品牌的名称、简介、图标、类型等。其中flag为品牌的类型,这些类型为系统内置的类型,所有的品牌的类型都必须从这些类型中选取,品牌的类型主要有一下几类:日用百货、服饰、电器/家电、数码、家具建材、汽车/配件、饰品这七大类,基本上这七大类也能够很好的包含绝大多数品牌和商品。最后isEnable同样是用于处理假删除的,因为有着购物车和订单的信息不方便直接删除,所以与之有关的数据都是采用的假删除的方式来处理的。
表3-5 商品信息表(goodsInfo)
字段名 Id name remarks goodsTypeId trademarkId unit imageUrl marketPrice memberPrice isrefinement isHost isDiscount createDate alertDate isEnable adminId 类型 Integer Varchar Varchar Integer Integer Varchar Varchar Float Float Boolean Boolean Boolean DateTime DateTime Int Integer
是否是主外键
是 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否
索引
是 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否
是否为空 Not-null Not-null
Not-null Not-null
Not-null Not-null Not-null Not-null
字段描述 主键ID 商品名称 商品介绍 商品类型id 品牌id 计数单位 商品图片 市场价格 会员价格 是否精品 是否热卖 是否特价 创建时间 修改时间 是否可用 创建者
参照表 — — — — — — — — — — — — — — — —
表3-5商品信息表(goodsInfo),用于存放商品的基本信息,保存商品的名称、简介、图片路径、销售价格等等。其中id为主键,不能为空自动增长,其次在本表中有着两个字段分别是goodsTypeId和trademarkId,这两改字段分别用于外键关联商品的类型和商品的品牌,对于商品外键关联了商品类型过后也是可以知道商品所属的品牌的,但是为了便于查询和操作,本表结构同样关联了商品的品牌。adminId用于管理品牌管理员,注明该商品信息的创建者。最后isEnable同样是用于处理假删除的。
成都学院学士学位论文(设计)表3-6 购物车信息表(shopCart)
字段名 Id goodsInfoId memberId amount price createDate isEnable 类型 Integer Integer Integer Int Float DateTime Int 是否是主外键
是 否 否 否 否 否 否 索引
是 否 否 否 否 否 否 是否为空 Not-null Not-null Not-null Not-null Not-null Not-null Not-null 字段描述 主键ID 商品Id 会员Id 购买数量 购买单价 创建时间 是否可用 参照表 — — — — — — —
表 3-6购物车信息表(shopCart),该表用于存放用户购物车的基本信息,包括商品信息ID、会员ID、购买数量、购买单价、创建时间等等。其中id为主键,不能为空并且自动增长。goodsInfoId用于关联商品信息表,表示加入购物车的商品,memberId外键关联会员表,用于区分是哪一个会员添加的购物车信息。amount为购买数量,price为购买单价,最后isEnable同样是用于处理假删除的。
表3-7 订单信息表(orderInfo)
字段名 Id OrderID goodsInfoId memberId Amount Price totalPrice receiverName receiverPhone receiverAddress status createDate alertDate isEnable 类型 Integer Varchar Integer Integer Int Float Float Varchar Varchar Varchar Int DateTime DateTime Int 是否是主外键
是 否 否 否 否 否 否 否 否 否 否 否 否 否 索引
是 否
否 否 否 否 否 否 否 否 否 否 否 否 是否为空 Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null Not-null 字段描述 主键ID 订单号 商品ID 会员Id 购买数量 购买单价 购买总价 收货人姓名 收货人电话 收货地址 状态 创建时间 修改时间 是否可用 参照表 — — — — — — — — — — — — — —
表 3-7订单信息表(orderInfo),该表用于存放订单的相关的信息,包括订单号、商品ID、会员ID、购买数量、购买单价、购买总价、收货人相关信息、购物状态等等。其中id为主键,不能为空并且自动增长。goodsInfoId用于关联商品信息表,表示加入购物车的商品,memberId外键关联会员表,用于区分是哪一个会员添加的购物车信息。amount为购买数量,price为购买单价。receiverName、receiverPhone、receiverAddress分别存放着收货人姓名、收货人联系方式、收货地址。Status表示购物状态,最要分为三种状态,分别为: 确认支付、已经发货、确认收货,最后isEnable同样是用于处理假
成都学院学士学位论文(设计)删除的。
3.3 ER关系图
图3-1 ER关系图
图3-1ER关系图为本系统ER模型图,该图清晰地反映了各个主表之间对应关系,以及各张表的表结构,对设计系统有很大的帮助。其中member表与表orderInfo和表shopCart为一对多的对应关系,表shopCart与表member、表goodsInfo为多对一的关系,表orderInfo与表member、表goodsInfo为多对一的关系,表goodsInfo与表goodsType、表admin、表trademark是多对一的关系。
成都学院学士学位论文(设计)4 系统概要设计
本章将通过对系统功能模块图和系统流程图的分析来阐述程序的总体设计。4.1 系统功能模块结构图分析
图4-1系统功能模块图
如图4-1系统功能模块图系统功能模块图所示,整个系统主要包含商品购买、登录注册、个人中心、后台管理四个部分。对于商品的购买而言,所有的人都能够浏览系统中的所有的商品并选择自己想要购买的商品,对于商品的购买有两种方式,可以在选择商品的时候就进行购买,也可以将商品加入到自己的购物车中然后在购物车中付费购买商品,当然后面对于将商品加入购物车以及购买商品都是需要会员登录的。对于注册和登录而言,根据不同的系统角色,则有不同的注册和登录的方式。本系统中分为三类角色:系统管理员、品牌管理员、会员,其中系统管理员是系统内置的用户,不能通过注册产生,品牌管理员通过注册产品,在品牌管理员注册的时候需要将自己的品牌信息一起注册,注册成功过后等待系统管理员的审核。品牌管理员登录系统成功过后则管理自己的基本信息和商品信息,包括:品牌信息、商品类型、商品信息、订单信息等。对于系统会员也是通过注册产生,注册时需要简单的用户名和密码以及邮箱地址,注册成功过后不需要等待管理员的审核便可以登录,登录成功过后能够对自己的个人中心进行管理,包括对自己的基本信息的管理、登录密码、支付密码的管理以及购物车和订单的管理。对于后台管理则需要要根据管理员的权限来确定,系统管理员主要是管理品牌管理
成都学院学士学位论文(设计)员,品牌管理员主要是管理品牌下的商品类型、商品信息、订单等等。整个系统的架构采用
4.2 系统功能流程图
图 4-2 系统功能流程图
如图4-2 系统功能结构图所示,本系统所有人都可进行浏览和查看商品信息,当需要将商品加入到购物车或者需要购买商品的时候则需要会员登录系统才行,在登录的时候会对用户的用户名和密码进行判断,登录成功过后才能将商品加入到购物车中和商品的购买,同时也可以进入到个人中心管理个人的各项信息。如果还没有会员账号则可以注册一个,通过成功过后即可登录系统。在商品的购买过程中会检测用户是否登录,用户没有登录则提示用户进行登录,如果用户已经登录则处理商品的数据,然后进行购买,在购买支付的过程中会检测用户的账户余额,如果余额不足就作出提示,反之则直接购买商品成功。
管理员分为两类系统管理员和品牌管理员,系统管理员主要管理品牌管理员,审核管理员、删除等,系统管理员由系统内置。品牌管理员有注册生成,注册成功则等待系统管理员的审核,注册失败则返回注册页面进行重新注册。品牌管理员通过审核过后就可以登录到系统后台。
成都学院学士学位论文(设计)5 系统详细设计与实现
5.1 公共模块设计与实现
本节从以下几个方面进行介绍,详细的说明整个程序的架构和一些公共模块: 5.1.1 程序目录结构
图5-1项目目录结构图
如图5-1项目目录结构图所示,图中展示了该系统的代码以及各项资源。从src目录下的org.cde.edu.shop目录下能够很好的理解整个系统的核心架构,在系统架构中采用Dao、Service、Controller的处理方式,结合页面的View,便是典型的MVC模式。Dao和Service主要通过Hibernate处理数据持久层,Controller作为核心控制器,处理系统的业务逻辑。
右边部分是项目Webroot目录结构,在该目录结构下存放的是页面以及页面的资源。5.1.2 系统整体架构
该系统采用的MVC的编程模式,MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式[9],把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。在本系统的架构中是以Html作为视图层,通过FreeMarker作为页面标签来处理和展示数据,同时在一定程度上使用Jquery的Ajax处理数据的交互并结合Jquery的DOM操作来实现页面效果。控制器则是采用的SpringMvc,通过
成都学院学士学位论文(设计)SpringMvc作为核心控制器处理系统的所有的业务逻辑。模型层则是JavaBean,结合Dao与Service中的Hibernate来处理数据[8]。
5.1.3 baseDao介绍
BaseDao是整个系统与数据库交互,处理数据的核心接口,在该接口中声明了许多的方法,通过BaseDaoImp来实现,以此作为整个系统的核心,在实现类中是通过Spring的HibernateTemplate来调用各种方法来处理数据的。HibernateTemplate是Spring对Hibernate的Session的进一步封装,使用HibernateTemplate 非常简单。创建Hi bernateTemplate 实例后,注入一个SessionFactory 的引用,就可执行持久化操作。SessionFactory 对象可通过构造参数传入,或通过设值方式传入。下面对该结构中的部分方法做一定的介绍。
(1)根据条件获取一条数据的方法,在basedao中声明了两个方法来实现该功能: public T getEntity(String property,Object value);public T getEntity(String[] properties,Object[] values);在这两个方法中第一个是传入一个属性值和属性名称,根据这一个条件去查询相应的数据,只返回一条数据。第二个方法则是多条件查询,该方法两个参数都是数组,第一个数组是String类型,存放的是字段名数组。该方法的第二个参数是Object类型的数组,存放的是对应字段的值。在具体的方法实现中通过对数组的循环生成查询的hql语句。
(2)根据条件获取数据集合的方法,在BaseDao中同样声明了两个方法,两个方法如下:
public List
(3)分页查询方法
public Pager findByPager(Pager pager,String hql);该方法实现了分页查询的,主要应用于前段页面需要显示列表的时候数据过大进行
成都学院学士学位论文(设计)分页操作的,每次只查询当前页的数据。该方法需要两个参数,第一个是分页基类Pager,另外一个则是查询的hql语句。为了做到灵活多变以及实现各种条件的查询,这儿的查询语句用调用的方法提供,根据不同的业务逻辑程序设计者自己实现。
(4)为针对发展的查询条件同样的basedao中声明了两个方法来实现这样的功能,两个方法都只需要传入一个hql语句,通过具体的实现,两个方法分别返回一条数据和一个list数据集合。方法声明如下:
public List
public Boolean isExists(String property,Object value);该方法声明要实现的功能是判断某个值是否存在。该方法需要两个参数,一个是字段名称,另一个则是字段对应的值,最后方法返回Boolean的true和false。5.1.4 分页bean介绍
绝大多数系统对于数据过大都会采用分页,在该系统中也采用了常规的分页,分页的各种数据是通过pager这个javabean来保存的。在Pager中有一下几个参数:
private Integer pageNumber = 1;// 当前页码
private Integer pageSize = 15;// 每页记录数 private Integer totalPage = 0;// 总记录数 private Integer pageCount = 0;// 总页数 private String keyWord;//查询关键字r private List> list;// 数据List 如上代码所示,pageNumber记录的是当前页,pageSize记录的每一页显示的数据条数,totalPage记录的是总的数据条数,pageCount记录的是总的页数。这些数据都是分页所需要的基本数据。keyWord存放的是搜索关键字用于查询使用,对于这个关键字的设计是这样考虑和实现的,单条件查询keyWord中就存放单个值,多条件查询则将查询条件封装成json格式,由后台解析在组成hql语句,以此来实现多条件查询搜索。List属性是用来存放查询返回的数据的。
5.2系统模块实现
在本节中将对系统的具体的功能的设计和实现做详细的介绍,并对系统完成过后所取得的一些效果进行展示。
成都学院学士学位论文(设计)5.2.1 商品展示和购买模块
本系统是以品牌为中心进行展示和管理的,系统内置7大类型,在7大类型下面有着各种各样的品牌,在品牌才是各种商品的类型。这种逻辑关系很好的体现了系统作为一个平台的特点。
图5-2 网站首页图
如图5-2网站首页图所示,整个导航条按照日用百货、服饰、电器/家电、数码、家具建材、汽车/配件、饰品这七大类来进行展示,在页面的右边则是这七大类下的品牌的导航,通过这儿能够跳转到某一个品牌的展示页去浏览和选购商品。在品牌的展示页首先是通过Ajax展示所有的商品,在品牌的展示页能够通过该品牌下的类型来筛选商品信息。对于首页显示的数据大部分来自于Jquery的Ajax请求,然后通过Jquery操作Dom生成而来,核心代码如下:
//查询 日用百货 的所有品牌
trademarks = trademarkService.getList(“flag”, flag);if(trademarks!=null && trademarks.size()>0){ //将信息存放到object中
object.put(“title”, title);object.put(“trademarks”, JSONArray.fromObject(trademarks));//将object放入到array中
array.add(object);} 以上代码是查询某一主类型下的品牌信息,最后将主类型以及主类型下的品牌信息封装到一个JsonObject中,然后存放到JsonArray数组中。最后将7个主类型的品牌获
成都学院学士学位论文(设计)取完,JsonArray中的数据就是前段显示所需的数据。
//循环遍历data数据,生成品牌信息
for(var i=0;i html = ' proteus使用总结 相关设置: 1、如何设置电源为所需的电压值? 答:在菜单选项的“Design”选择“Configure Power Rails”,会弹出一个对话框,选择“Name”为“Vcc”,然后在“voltage”中设置所需电源的值 2、当仿真时不小心关掉了示波器的显示波形,第二次仿真时,示波器的波形就不会显示出 来,如何让示波器波形显示出来? 答:点击仿真运行,在运行过程中,右键选择示波器,在弹出的对话框中选择“Digital Oscilloscope” JavaMail 概述 SUN公司发布的用来处理EMAIL的API,提供给开发者处理电子邮件相关的编程接口。它虽是SUN的API,但它还没被加在标准的JAVA开发工具包中,这就意味着你使用前必须另外下载JAVAMAIL文件。除此之外你还需要SUN的JAVABEANS Activation Framework(JAF)。Javabeans activation framework运行很复杂,简单的说就是JAVAMAIL的运行必须得依赖于它的支持。 下载安装 JAVAMAIL是可选包,项目中需要用到就去官网下载,同时也需要下载JAF。安装JAVAMAIL只需要把它们直接把它们COPY到lib里(web项目不需要build path,java项目build path一下)就算安装成功。 所需的两个jar包: JAVAMAIL mail.jar ACTIVATION activation-1.1.jar 底层 Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。另外很好的实现了JavaMail API的框架有James、Spring Mail。Tips SMTP:用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。它帮助每台计算机在发送或中转信件时找到下一个目的地。用来发送或中转发出的电子邮件。 关于 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法 在编写邮件发送相关程序时,会报错! 主要原因是 javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。 废话不多说下面是解决方法 进到 X:/Program Files/MyEclipse 6.5/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806/data/libraryset/EE_5 这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)删掉之后运行下面的代码,经行简单的修改以后就可以实现接收邮件的功能了!我已经测试过完全可行。 文档为doc格式 文档名称 文档密级 TSM测试总结 此次在印度进行桌面云交付和测试,客户都比较关心我们的TSM安全特性,大部分的客户需求都是能够满足,也有部分需求满足不了(比如:客户想监控web或...... Excel 2007 筛选后的复制粘贴在Excel 2007中,有时需要把筛选后的数据复制粘贴到另一个表中,但是粘贴时发现结果并不是筛选出来的数据,而是所有的数据。这个问题可以用下面三个...... 3.1计算流体力学基础与FLUENT软件介绍 3.1.1计算流体力学基础 计算流体力学(Computational Fluid Dynamics,简称CFD)是利用数值方法通过计算机求解描述流体运动的数学方程,揭...... 一、软件设置相关 1、软件可以通过置位MR寄存器第7位来复位W5300,清零即清楚复位。 2、W5300总线可以设置为两种模式8位和16位,在W5300复位期间,这个值由管脚信号 BIT16EN 决定...... CAD使用总结 Monochorome可以使打印出来的图片为黑白。 如何判断图纸尺寸:先用DLI测量左边尺寸再除以594得出比例,再用DLI测量上边的数据除以比例得出XXX,该图尺寸就为594Xxxx...... Altium Designer 09 如想删除某层,如删除Top overlay层,先按shift+S键,使PCB文件单层显示,然后鼠标框选住Top overlay层,按Delete键,便删除了Top overlay层,然后菜单:Reports/Bill...... 班费使用总结 总体情况:为更好地维持班级工作的正常运转,我班在开学初共收取了420元的班费,加上上个学期结余的57..7元,本学期我班可使用的班费有477.7元。经过一个学期的使用...... 微机室使用总结
本学期微机室在学校领导的指导下,结合我校的实际情况开展了信息技术教育教学工作,学期临近结束,圆满地完成了各项工作任务,现对本学期以来的主要工作做如下总结:......第四篇:proteus使用总结
第五篇:JavaMail使用总结(定稿)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。 TSM使用总结
EXCEL使用总结
fluent使用总结(本站推荐)
W5300使用总结
CAD使用总结
AltiumDesigner09使用总结
班费使用总结
微机室使用总结