微服务

Maven+CMS+Redis+Solr+Linux+Nginx

2018-12-17  本文已影响14人  凯睿看世界

Maven+CMS+Redis+Solr+Linux+Nginx+Springmvc+Mybatis+单点登录,大型分布式项目电商

视频地址:
链接: https://pan.baidu.com/s/1rxr3p-LQyLy83GbI0Np1Ew 提取码: v4fq

Maven:项目管理,jar包管理,项目购进

CMS:内容系统管理,后台内容管理

Solr : Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。 Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制。

Nginx : 负载均衡和反向代理器

SpringMvc : Web服务前端框架

Mybait : 数据持久化技术

主要技术:

Spring、SpringMVC、Mybatis

JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV

Redis(缓存服务器)
Solr(搜索)

httpclient(调用系统服务)

Mysql

Nginx(web服务器)

image.png

如何解决跨域问题:使用jsonp来解决跨域问题。

jsonp的原理:

浏览器在js请求中,是允许通过script标签的src跨域请求,可以在请求的结果中添加回调方法名,在请求页面中定义方法,既可获取到跨域请求的数据。

image.png

要返回json数据,还需要使用回调方法把json数据包装起来。所以需要controller添加回调支持,不能直接返回一个ItemCatResult对象。

方法一:

使用MappingJac象包装返回结果,并设置jsonp的回调方法。

@RequestMapping("/all")

  @ResponseBody

  **public** MappingJacksonValue queryAll(String callback) **throws** Exception {

  //查询分类列表

 ItemCatResult result = itemCatService.queryAllCategory();

  //包装<u>jsonp</u>

 MappingJacksonValue jacksonValue = **new** MappingJacksonValue(result);

  //设置包装的回调方法名

  jacksonValue.setJsonpFunction(callback);

  **return**  jacksonValue;

 }

方法二

先把ItemCatResult对象转换成json字符串,然后使用字符串拼接的方法拼装成jsonp格式的数据。需要设置相应结果的MediaType。

@RequestMapping(value="/all", produces=MediaType.***APPLICATION_JSON_VALUE*** + ";charset=utf-8")

  @ResponseBody

  **public** String queryAll(String callback) **throws** Exception {

  //查询分类列表

 ItemCatResult result = itemCatService.queryAllCategory();

  //把对象转换成<u>json</u>数据

 String jsonResult = JsonUtils.*objectToJson*(result);

  //拼接字符串

 String resultStr = callback + "(" + jsonResult + ");";

  **return**  resultStr;

 }

Maven执行跳过测试:

mvn clean install -DskipTests

系统开发架构图演进

image.png image.png image.png
上一篇下一篇

猜你喜欢

热点阅读