基于java的网上商城设计与实现--毕业论文(设计)Word文件下载.docx
- 文档编号:852077
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:46
- 大小:1.36MB
基于java的网上商城设计与实现--毕业论文(设计)Word文件下载.docx
《基于java的网上商城设计与实现--毕业论文(设计)Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于java的网上商城设计与实现--毕业论文(设计)Word文件下载.docx(46页珍藏版)》请在冰点文库上搜索。
1.3.论文组织结构 2
2.商城系统开发技术及工具介绍 3
2.1.商城开发的核心技术 3
2.1.1.Jsonp简介 3
2.1.2.HttpClient简介 4
2.1.3.Cookie简介 5
2.1.4.Session简介 6
2.1.5.Solr简介 7
2.2.SSM框架技术 8
2.2.1.框架技术概述 8
2.2.2.SpringMVC框架 9
2.2.3.Mybatis框架 10
2.2.4.Spring框架 11
2.3.商城开发工具 11
2.3.1.Ecplipse及其插件 11
2.3.2.Tomcat服务器 12
2.3.3.MySQL数据库 12
2.3.4.Redis数据库 12
3.商城系统项目需求分析 14
3.1.目标 14
3.2.商城业务流程图 14
3.2.1.商城后台业务流程图 14
3.2.2.商城前台务流程图 15
4.商城系统设计及实现 17
4.1.商城总体开发架构 17
4.2.商城框架实现 17
4.2.1.Spring整合SpringMVC 17
4.2.2.Spring整合Mybatis 18
4.2.3.Spring整合Jedis 20
4.3.商城主要功能模块实现 21
4.3.1.商城后台商品管理实现 21
4.3.2.商城后台内容管理实现 24
4.3.3.商城前台单点登录的实现 26
4.3.4.商城前台solr全文搜索的实现 29
5.商城系统运行结果 32
5.1.商城后台运行结果 32
5.1.1.商城前台新增产品 32
5.1.2.商城前台商品内容管理 33
5.2.商城前台运行结果 34
5.2.1.商城前台用户搜索 34
5.2.2.商城前台用户注册 35
5.2.3.商城用户购物车 36
6.总结以及展望 38
参考文献 39
致谢 39
1.绪论
1.1.研究的背景和意义
1.1.1.研究的背景
在衣食等购买方面,传统的方式是我们需要花费时间到固定的地方挑选,假设购买的东西多还需要额外的花费去运输。
但是随着中国经济的快速发展,人们对物质生活要求的提升,工作时间的不充足,购买量偏大这些问题往往会使我们感到厌烦。
如何改善人们的购物体验,如何使商家与顾客实现共赢,人们一直在尝试各种办法解决这个问题。
随着互联网技术的发展,网络与人们的日常生活也产生了千丝万缕的关系。
信息技术也改变了人们的思维方式,现在越来越多的人通过互联网来完成自己想做的事情。
随着数据库,计算机硬件,存储技术的发展,信息技术已经覆盖到日常生活的各个方面,现在人们已经离不开互联网了。
网上购物商城就是在这种大趋势的推动下产生的。
1.1.2.研究的意义
在衣食等方面网上购物商城充当着一个重要的角色,在以往我们需要花费时间去挑选去到固定的地方去买。
而现在我们只需要动动我们的手指很多东西就可以送货上门。
可以证明商城很火爆的一个列子是天猫双十一。
可以说是开辟了网上购物的一个春天,成交量超过千亿,可以说明现在互联网购物商城方面的一个发展趋势。
1.2.研究内容
本系统采用SSM搭建的分布式项目,使用Maven管理Jar使用Git作为版本的管理工具,由此将项目分为如下几个模块:
1)后台管理:
包括管理员对商品的增删改查,对商品规格参数的增删改查。
2)主页展示:
类似京东的主页面,让商品分类目展示。
3)用户注册:
用户登录成功之后才能让商品添加到购物车,用户才能购买商品。
26
4)用户登录:
登录使用的Redis-Session技术实现的单点登录,即在一个项目登录后其他项目无需登录。
5)Solr全文搜索引擎:
用基于Lucene开发的Solr作为搜索引擎。
6)购物车:
基于Cookie-Jsession模拟的Cookie-Redis进行用户购物信息的操作。
1.3.论文组织结构
第一章:
阐述了商城项目研究的背景与意义以及论文的组织结构
第二章:
介绍了在商城项目中用到的JavaWEB技术以及开发工具以及Eclipse
中比较好的插件的用法。
第三章:
介绍了该系统的基本功能需求以及业务流程
第四章:
实现对ssm框架的整合。
对商城主要功能模块的时间
第五章:
对网上商城的前台后台进行一些数据测试保证其健壮性,稳定性。
第六章:
总结商城开发过程中用到的问题,分析优势与不足,明确下一步的工
作内容。
2.商城系统开发技术及工具介绍
2.1.商城开发的核心技术
2.1.1.Jsonp简介
跨域的基本概念:
不同服务器或者同一个服务器不同的端口号他们之间进行通信这就叫做跨域
在商城项目中单点登录要实现在一个地方登录其他地方不用再重新登录,在这个地方需要用到跨域,在JSP页面使用跨域要用到Jsonp。
Jsonp:
Jsonp就是JSON的特殊使用法.因为Ajax无法接收到跨域的Json类型数据,Jsonp让跨域时返回的是一个脚本文件.脚本文件中包含了,回调函数及JSON数据.
JSONP的使用步骤:
客户端需要重点设置以下三个属性:
1)dataType:
’jsonp’,响应结果类型2)jsonp:
’callback:
请求时传递回调方法名的参数名3)jsonpCallback:
’abc,传递过去的回调方法名
代码示例如下:
$.ajax({
url:
'
http:
//localhost:
8081/demo'
dataType:
jsonp'
jsonp:
callback'
jsonpCallback:
abc'
type:
POST'
success:
function(data){
alert(data.a+"
"
+"
匿名方式"
+data.b);
}});
服务器端使用的是由Spring封装的MappingJacksonValue它返回jsonp需要的数据格式。
他要注意的是几个属性produces:
string[],设置响应头中
Content-Type,响应内容类型.代码示例如下:
@RequestMapping(value="
demo"
produces={MediaType.APPLICATIO
N_JSON_UTF8_VALUE})
@ResponseBody
publicMappingJacksonValueshow(Stringcallback){Map<
String,String>
map=newHashMap<
>
();
map.put("
a"
"
a1"
);
map.put("
b"
b1"
MappingJacksonValuemjv=newMappingJacksonValue(map);
mjv.setJsonpFunction(callback);
returnmjv;
2.1.2.HttpClient简介
分布式项目中不同子项目之间进行信息传输需要跨域,而 HttpClient是用
Java代码的方式进行的跨域信息交流,下面介绍一下HttpClient。
HTTP协议应该是互联网中最重要的协议。
持续增长的WEB服务、互联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展。
虽然JDK中的J包中提供了一些基本的方法,通过Http协议来访问网络资源,但是大多数场景下,它都不够灵活和强大。
HttpCilent致力于填补这个空白,它可以提供有效的、最新的、功能丰富的包来实现Http 客户端。
为了拓展,Httpclient即支持基本的Http 协议,还支持Http-aware客户端程序,如WEB浏览器,WebServer客户端,以及利用OR拓展Http协议的分布式系统。
1)HttpClient的范围/特性
是一个基于Httpcore的客户端Http传输类库基于传统的(阻塞)IO内容无
关
2)HttpClient不能做的事情
HttpClient不是浏览器,它是一个客户端HTTP协议传输类库。
HttpClient
被用来发送和接受HTTP消息。
HttpClient不会处理HTTP消息的内容,不会进行JavaScript解析,不会关心contenttype,如果没有明确设置,HttpClientT也不会对请求进行格式化、重定向URL,或者其他任何和Http消息传输相关的功能。
POST请求
CloseableHttpClienthttpClient=HttpClients.createDefault();
HttpPostpost=newHttpPost("
8081/demo1"
List<
NameValuePair>
params=newArrayList<
params.add(newBasicNameValuePair("
name"
李四"
));
age"
"
15"
post.setEntity(newUrlEncodedFormEntity(params,"
utf-8"
CloseableHttpResponseresponse=httpClient.execute(post);
Stringresult=EntityUtils.toString(response.getEntity());
response.close();
httpClient.close();
GET请求:
publicvoiddoGetWithParam()throwsException{
URIBuilderuriBuilder=new
URIBuilder("
uriBuilder.addParameter("
query"
花千骨"
HttpGetget=newHttpGet(uriBuilder.build());
CloseableHttpResponseresponse=httpClient.execute(get);
intstatusCode=response.getStatusLine().getStatusCode();
HttpEntityentity=response.getEntity();
Stringstring=EntityUtils.toString(entity,"
}
2.1.3.Cookie简介
Cookie概念:
由服务器端产生,存放于客户端浏览器的文本文件。
Cookie原理:
1)在服务器端实例化Cookie对象,里面只能存放字符串内容(Cookie尽量不
要存放中文)。
2)设置Cookie的有效时间和作用域和有效路径。
3)伴随重定向,随着响应对象响应给客户端浏览器。
4)浏览器接收到Cookie内容进行I/O操作,把Cookie存放与本地某个Cookie
特定文件夹中。
5)当用户在次发送请求时,只要能获取到某个或某些Cookie,会由浏览器帮助自动携带Cookie发送给服务端。
服务器端示例代码如下:
Cookiec=newCookie("
test"
123"
c.setMaxAge(10);
c.setDomain("
"
);
c.setPath("
/cookie/page"
res.addCookie(c);
res.sendRedirect("
page/index.jsp"
客户端代码示例如下:
<
%
Cookie[]cs=request.getCookies();
if(cs!
=null){
for(Cookiec:
cs){
out.println(c.getName()+"
+c.getValue()+"
br/>
%>
2.1.4.Session简介
Session是什么?
Session原理:
1)在服务器端实例化Cookie对象,里面只能存放字符串内容(Cookie尽量不要存放中文)。
3)伴随重定向,随着响应对象响应给客户端浏览器。
4)浏览器接收到Cookie内容进行I/O操作,把Cookie存放与本地某个Cookie
5)当用户在次发送请求时,只要能获取到某个或某些Cookie,会由浏览器帮助自动携带Cookie发送给服务端。
2.1.5.Solr简介
Solr介绍
1)作用:
一个搜索引擎。
2)SOLR实际是一个WEB项目。
3)优点:
搜索内容高亮。
对搜索关键字的突出显示。
搜索引擎方案:
目前在国内希望实现全文搜索常用解决方案。
1)使用Baidu,Google提供的API
2)使用基于Apache提供的Lucene搜索引擎实现。
Solr运行原理:
Solr实际上是基于lucceen开发的,需要通过Solr对外提供的接口,访问Solr项目.Solr接收请求,交由SolrRequestHandler,处理请求.拆分请求内容为n多个词条(一句话拆分成多段).根据词条内容,索引整个Solr中内容,最终相应给用户一个XML格式的结果,也可以是备用结果。
索引介绍:
1)查询时,从头查询到结果一行一行的查询过程叫做顺序查询。
2)索引:
建立内容和索引内容之间关系,通过找到索引内容快速定位到具体内容的过程就是索引查询(新华字典目录.)。
3)solr基于反向索引进行查询的.建立索引和内容之间关系,通过索引查找内容的过程称为反向索引。
2.2.SSM框架技术
2.2.1.框架技术概述
用户
从上到下:
传递的是参数
封装的对象
JSP(V)
从下到上:
从数据库中取
出的结果封装的对象
Servlet(C)
SpringMVC
Service(业务
Spring
逻辑处理)
DAO
Mybatis
DataBase
框架是一种通用的半成品的软件,SSM用了MVC的设计模式可以使程序易维护扩展,使程序员之间的分工比较明确,使业务逻辑与视图进行分离,简化了程序员的开发提高了工作效率,如图2-1就是框架技术在MVC三层模型所代表的角色。
图2-1框架在MVC中的角色
2.2.2.SpringMVC框架
Springmvc运行流程图如图2-2
图2-2SpringMVC执行时序图
Springmvc运行原理:
在编程中都是以spring-webmvc.jar形式存在.SpringMVC是基于front设计模式研发出来的必须有入口地址,地址是DispatcherServlet。
DispatcherServlet也是一个Servlet,在SpringMVC中ServletAPI被完整的支持.由于是一个MVC框架,所以核心是控制器.大部分执行流程都是在控制器前后完成的。
具体执行流程为:
当用户发送请求后被DispatcherSevlet进行分发,然后转交给HandlerMapping进行验证格式是否合法,如果不合法报异常,如果合法向下传递交给HandlerAdapter准备调用某个Controller,Controller在进入之前一般都需要执行HandlerInterceptor拦截器的preHandle()方法,判断是否可以调用Controller.如果可以调用才能进入Controller,当Controller执行完成后再次进入拦截的postHandle验证传递内容是否合法,如果合法交给ViewResovler视图解析器调用具体的View视图资源.调用成功后再次进入拦截器的afterCompletion做最后验证,如果一切正确,响应给客户端.
到此,SpirngMVC执行结束.
2.2.3.Mybatis框架
Mybatis运行流程图如图2-3
图2-3MYBATIS的执行流程
图2-3Mybatis的执行流程
Mybatis是持久层框架,内部封装的JDBC,不依赖于SERVLET容器在测试阶段使用比较方便。
它的运行原理如下:
运行原理就是程序执行过程,平时编写代码时只需要把配置文件转换为流后给交SqlSessionFactoryBuilder就会产生SqlSessionFactory,但实际上底层是这样实现的.实际上把配置文件流交由XMLConfigBuilder进行解析,解析后把所有配置信息封装到Configuration中,再把Configuration传递给DefaultSqlSession
-Factory,并实例化这个类在源码可以看出DefaultSqlSessionFactory是SqlSessionFactory的实现类,所以这个时候就产生了SqlSessionFactory接口的实例..需要openSession,产生SqlSession示例,根据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 网上商城 设计 实现 毕业论文