zoukankan      html  css  js  c++  java
  • bug0

    1,编码

      之前做支付验证的时候,sdk的平台token串有的就是会有空格,折腾了很久,前后端对调好多次都没发现这个问题.结果有的平台验证通过,有的通不过.

      仔细调试后发现不通过的url中参数串都是带有'+'字符的,然后request.getparameter("xxx"), 字符串中'+'都被转成' '于是md5校验不通过.request.getparameter("xxx")

      最后使用req.getQueryString() +自己写了个简单的获取策略获取参数.

      

    2,IDE带来的bug

      app工程使用struts2框架,旧的action class文件混进action java文件中,在工程上没显示,发布时又被传到了tomcat中,引发classNotFoundException,启发不能盲目信任IDE.

    3,Maven web deploy to tomcat 发现工程没有发布上去.可能是Maven build修改了deployment assembly,Maven Dependencies is removed.  

      -->Project的属性Deployment Assembly-->add--->java build path entries -->select maven dependencies. or edit project .classpath.

    4,Linux大小写敏感.项目使用freemaker框架,在windows下跑得好好,部署后,发现有的url总是循环请求,以至于stackoverflow.

      仔细对比linux下与window下的log,发现报错的请求init dispatchResolver 没有使用我们定义的freemaker的而是spring mvc default的.后来一想是不是路径找不到,然后想到linux大小写敏感.

      出现问题的ftl资源文件夹是"PlatMaterial",

      代码注解是

      @Controller
      @RequestMapping(value = "platMaterial")

      启发:莫名的bug常常与基本环境有关.

    5,不经意的溢出,计算玩家登录的间隔得到的奖励,接口args 是 int 型,使用了连个时间的的date.getTime()相减后转int,发现有的玩家登录间隔奖励对不上.

      结果一查,发现是int越界,修改为int sep = time>Integer.maxValue()?Integer.maxValue():Integer.valueOf(time)//time long type;

      启发:不经意的类型转化很可能发生越界.

    给笨笨的自己提个醒>_<~
  • 相关阅读:
    Delphi编程 -- 视频捕获avicap32.pas源代码
    Delphi的DataSource事件
    InfoPower4000 wwGrid控件的一些应用技巧
    TwwDBGrid + TwwDBLookupCombo 下拉列表
    Delphi中TwwDBLookupCombo中属性的简单设置
    DevExpress中文说明--TdxCameraControl Object 摄像头组件
    如何Windows分页控件中增加统计功能
    Kibana:运用索引模式的 formatter 来探索 IP 信息
    Alertmanager高可用
    Prometheus高可用部署
  • 原文地址:https://www.cnblogs.com/ephuizi/p/4539740.html
Copyright © 2011-2022 走看看