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服务器)
如何解决跨域问题:使用jsonp来解决跨域问题。
jsonp的原理:
浏览器在js请求中,是允许通过script标签的src跨域请求,可以在请求的结果中添加回调方法名,在请求页面中定义方法,既可获取到跨域请求的数据。
要返回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
系统开发架构图演进