品优购商城项目常见BUG解析

1.(Initializing ProtocolHandler) 端口被占用异常。tomcat重复启动所致。*

信息: Initializing ProtocolHandler [“http-bio-9001”]
三月 20, 2019 9:01:47 上午 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler [“http-bio-9001”]
java.net.BindException: Address already in use: JVM_Bind :9001

**2.在注册中心找不到对应的服务

java.lang.IllegalStateException: Failed to check the status of the service** 
     com.pinyougou.sellergoods.service.BrandService. No provider available for the service 	  	com.pinyougou.sellergoods.service.BrandService from the url 
        zookeeper://192.168.25.129:2181/com.alibaba.dubbo.registry.RegistryService?application=pinyo ugou-manager
        web&dubbo=2.8.4&interface=com.pinyougou.sellergoods.service.BrandService&methods=updat e,get,delete,selectOptionList,add,getListByPage&pid=3980&revision=0.0.1
        SNAPSHOT&side=consumer&timestamp=1501146823396 to the consumer 172.16.17.14 use dubbo version 2.8.4 

这种错误是服务层代码没有成功注册到注册中心导致,请检查一下你的服务层代码是否添加 了@service 注解,并且该注解的包一定是 com.alibaba.dubbo.config.annotation 包,不是 org.springframework.stereotype.Service,这个地方极容易出错。另外还有一个原因就是你的 服务层工程由于某些原因没有正常启动,也无法注册到注册中心里。

3.无法连接到注册中心

timeout: 5000 
org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within 
timeout: 5000 org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876) org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
 org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:92) org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:80) 
 com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperClient.<init>(ZkclientZook eeperClient.java:26) 

请检查 IP 与端口是否填写正确,检查注册中心是否正常启动

4.子项目中pom文件图标不正确,无法正常创建webapp目录 。

<modules>
    <module>../pinyougou_pojo</module>
    <module>../pinyougou_dao</module>
    <module>../pinyougou_common</module>
    <module>../pinyougou_sellergoods_interface</module>
    <module>../pinyougou_sellergoods_service</module>
    <module>../pinyougou_manager_web</module>
    <module>../pinyougou_shop_web</module>
</modules>

请检查父工程中是否有导入子工程。而后在maven中选中项目,点击刷新即可。

5.在做增加和修改方法时,主键id增加但是没有输入的值。

/**
 * 添加方法
 * @param tbBrand
 */
@RequestMapping("/add.do")
public SuccessMessage testAdd(@RequestBody TbBrand tbBrand){
    //判断名称是否重复 开始 -↓-
    String name = tbBrand.getName();
    List<TbBrand> all = brandService.findAll();
    for (TbBrand brand : all) {
       String brandName = brand.getName();
        if(name.equals(brandName)){
            return new SuccessMessage(false,"重复名称!");
        }
    }
    //判断名称是否重复 结束 -↑-

    //添加方法        开始 -↓-
    try {
        brandService.add(tbBrand);
        return new SuccessMessage(true,"");
    } catch (Exception e) {
        e.printStackTrace();
        return new SuccessMessage(false,"保存失败");
    }
    //添加方法        结束 -↑-

}

请检查传入的参数中是否有@RequestBody注解。

6.在做删除方法时,遇到java NullPointerException(空指针异常)
请检查前端参数与后台参数的名称是否一致。

7.在前端js代码分层时,遇到无法读取未定义的“success”

//前台报错信息
angular.min.js:80 TypeError: 
Cannot read property 'success' of undefined
    at a.$scope.search (brandController.js:75)
    at a.$scope.reloadList (baseController.js:6)
    at Object.onChange (baseController.js:15)

未在方法前加return 返回。则会报无法定义success。

//搜索
this.search=function (page,size,searchEntity) {
  return  $http.post("../brand/search.do?page=" +
   page + "&size=" + size, searchEntity);
};

调用JS的service层 没有return返回值

8.、在前端js代码分成时,遇到前台报$scope未定义

//代码示例
app.service("brandService",function ($http) {

    //读取列表数据绑定到表单中
    this.findAll=function () {
        //.get获取后端控制器层的方法
       return $http.get("../brand/findAll.do");
    };

在服务处js页面,方法的调取应该使用 this. 而非$scope.

9.在做新增规格选项时,定义方法后,按钮无法使用。控制台报错。
angular.min.js:80 TypeError:

Cannot read property 'specificationOptionList' of undefined
    at h.$scope.addTableRow (specificationController.js:82)
    at angular.min.js:158
    at angular.min.js:175
    at h.$eval (angular.min.js:98)
    at h.$apply (angular.min.js:99)
    at HTMLButtonElement.<anonymous> (angular.min.js:175)
    at HTMLButtonElement.dispatch (jquery-2.2.3.min.js:3)
    at HTMLButtonElement.r.handle (jquery-2.2.3.min.js:3)

查看specificationController.js第82行,
$scope.entity.specificationOptionList.push({});为null值,需要定义后方可使用。

//修改后代码
$scope.entity={specificationOptionList:[]};
   $scope.addTableRow=function(){
       $scope.entity.specificationOptionList.push({});
   }

10、在登陆后台时,报错 “创建名为…的bean时出错”。

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.DefaultSecurityFilterChain#6':

重启虚拟机,重启idea即可。

11、在做solr添加索引时遇到Document is missing mandatory uniqueKey field: id(文档缺少必需的uniquekey字段:id)

public void importItemData(){
    TbItemExample example=new TbItemExample();
    TbItemExample.Criteria criteria = example.createCriteria();
    criteria.andStatusEqualTo("1");//审核通过
    List<TbItem> itemList = itemMapper.selectByExample(example);
    System.out.println("---商品列表---");
    for (TbItem tbItem : itemList) {
        System.out.println(tbItem.getId()+"---"+tbItem.getTitle()+"---"+tbItem.getPrice());
    }

    solrTemplate.saveBeans(itemList);
    solrTemplate.commit();
}

问题就出在solrTemplate.saveBean(selectByExample);这段代码上导致了Document is missing mandatory uniqueKey field: id这个错误信息,正确的是solrTemplate.saveBeans(selectByExample);这个错误很尴尬,由于两个方法很相似,调用的时候要看仔细。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
uni-app是一种基于Vue.js的跨平台开发框架,可以用于开发微信小程序、H5、App等多个平台的应用。《优购商城项目》是一个基于uni-app开发的微信小程序商城项目。 要实现《优购商城项目》,首先需要配置uni-app的开发环境。可以使用HBuilderX作为开发工具,它提供了丰富的功能和插件来辅助开发。然后需要获取微信小程序的APPID,这是小程序的身份证明,是唯一的。可以在微信开放平台上注册一个小程序并获取到APPID。 接下来,可以在HBuilderX中创建一个新的uni-app项目。在菜单栏中选择文件 -> 项目 -> 新建选择uni-app,填写项目名称并指定项目创建的目录。然后选择微信小程序作为目标平台,并填写小程序的APPID。这样就可以开始在uni-app上开发《优购商城项目》了。 在开发过程中,可以使用uni-app提供的丰富组件和API来实现商城功能,比如商品展示、购物车、订单管理等。可以使用uni-app提供的跨平台能力,一次开发即可在多个平台上运行。在开发完成后,可以将项目打包成微信小程序并在微信开发者工具中进行调试和发布。 通过以上步骤,就可以利用uni-app开发微信小程序实现《优购商城项目》了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信小程序--优购商城项目(1)](https://blog.csdn.net/ljn1046016768/article/details/124043924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [uniapp微信小程序实现《优购商城项目》](https://blog.csdn.net/qq_64102392/article/details/131212823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爪哇Bubble

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值