品优购项目总结
- 之前在学习java的时候自己做过一个商城项目,采用的是SSH框架做的,当时也是为了学习SSH框架,属于那种OA系统,很单一。后来看资料发现了传智播客的品优购项目,找到了资料学习。从开始到结束,差不多用了一个月的时间,期间没有用提供的虚拟机,自己在阿里云上部署了一个服务器,也算把所有内容自己尝试了一下,包括安装FastDFS这些。
- 做的过程中遇到了很多的问题。开这个帖子的目的呢,一个是做一下学习笔记,一个是我在做的过程问题的一些汇总。
一、工程搭建问题
- 工程搭建的时候我使用的工具的IDEA来操作的,在建立的过程当中,也会区分jar包与war包的区别,这个需要在建立的时候自己选择一下。
- 使用IDEA搭建好工程以后需要手动去建立一些文件,在main目录下面创建resources与java,一定注意要写对,我当时建立的时候写成了resource,就少了一个S,spring的配置文件一个也读取不到,访问Controller一直是404,找错误找了好久。然后打开Project Structure,给这个目录作为Resources也Sources。
- 这里注意一个问题,可能你在建立web工程的时候速度特别慢,这里可以修改一下本地仓库,引用一下阿里巴巴的一个仓库,在setting.xml文件中加入一句话。
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<!--This is used to direct the public snapshots repo in the
profile below over to a different nexus group -->
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>
</mirrors>
- 这样的话在新建web工程的时候速度就很快了。
二、商户修改密码阶段问题
- 这个阶段视频当中没有说过,我是后面再完善的时候看到了这个模块,主要这里涉及一个问题,就是在使用Security框架的时候,当时注册时候,密码被加密了,在修改密码的时候,会和原来的密码进行比较,因为和MD5加密不一样,每次的值都不同。查了资料才发现,提供了一个加密比较方法。
BCryptPasswordEncoder passwordEncoder =new BCryptPasswordEncoder();
boolean matches = passwordEncoder.matches(oldpass, seller.getPassword());
- 这样就能可以比较两次的密码值。
三、AngularJS跨域提交的过程中文乱码问题
- 在做跨域访问的时候,传对象、数字都是正常的,就是传输中文的时候会导致乱码的问题。一直也没找到问题。编译器编码也改了,但还是有问题,传输之前打印一个alert,正常。到了控制层打印就出现了乱码。
- 在传输的过程中,涉及到传输中文的话,我都会以对象的形式传,有问题的朋友可以尝试一下。
$scope.maps={
};
$scope.findOne=function(ids){
$scope.maps.sellerId=ids;
sellerService.findOne($scope.maps).success(
function(response){
$scope.entity= response;
}
);
}
四、Solr搜索服务问题
- 在第十天、第十一天的内容里面都是在做Solr的搜索,当时在做的过程中,测试的时候发现了一个小bug,就是我点击最后一页,比如是19页,当我在搜索一个内容的时候,没有19页就会出现什么内容也没有。(后面的时候老师有讲这个过程)可以在搜索的时候每次将页面拉回去。
$scope.searchMap.pageNo=1;
这句话只要是涉及到更改搜索内容的时候都需要放上,不然都会出现没有数据的情况。
- 第二个小问题就是在更新solr库的时候,感觉需求分析稍微有点问题,个人感觉,商品上传以后运营商会进行审核,但是在审核的过程当中由于 没有修改后端代码,运用商更新的只是tb_goods表当中的audit_status字段,但是在导入solr库的时候,导入的是tb_item这个表里面的信息,而且看的也是这个表中status字段,所以在存储的过程中,永远不会添加到solr库。
- 然后我自己修改了一下需求,也就是在商户点击商家商品的时候&#