在之前的项目开发中接触过javashop,现在所在公司是基于shop++做二次开发,所以对两者都有比较深入的了解。
从代码质量来看shop++更加优秀,尤其在代码规范性方面做得非常好,几乎所有代码都有注释说明,可读性非常强;而javashop在命名和代码规范性方面就比较随意,可读性稍差一些。
功能方面,感觉两者差异不大,都是比较标准的b2c功能。
界面方面,可能审美观不一样,PC端大同小异;但手机端可以明显感觉javashop比较粗糙,而shop++却非常精细,很多细节做得非常好。
javashop之前遇到过一些bug,不知道现在的版本有没有解决。shop++暂时没发现什么明显的bug。
所以综合感觉shop++整体要优于javashop。
最近在准备一个小项目来着,使用tomcat部署后端的SpringBoot项目,然后使用Nginx部署前端界面并转发后端请求到相应的tomcat集群时,发生了跨域问题,解决过程欲仙欲死,特在此记录一下。
Nginx跨域配置方法一
严格说来,这种方式并不算是跨域请求,因为这种配置要求后端请求的url必须为 shop.mk-shop/mk-shop-api/xxxx 的形式,也就是说前端项目的请求地址必须进行更改为和客户端页面访问时的url地址一样,这样貌似也就没有跨域问题了。如果前端项目不同模块的请求地址不一样,则都需要进行更改。
Nginx跨域配置方法二
注意: api.mk-shop 是后端api的请求前缀,也就是客户端异步加载时的请求地址,以我的项目的后端请求地址为例:
SpringBoot后端处理跨域时可以配置过滤器来实现
注意: 使用过程中,新版本的springboot可能会报错不允许在setAllowedOrigins包含 * ,此时需要使用setAllowedOriginPatterns代替。