zoukankan      html  css  js  c++  java
  • 做项目遇到的坑(一)

    数据库 坑:
    表命名的规范,避免各平台的关键字:什么order,user,**class,不要这样命名,否则你一定会后悔的;

    错误:连接设重复了;
    原因:pom.xml中的变量和propertis中变量覆盖--这个问题很隐蔽,因为运行mvn run时不显示出来)

    用SpringMVC框架 坑:
    表单提交时自动绑定时,日期控件,要特别处理;

    Post请求用表单来传递数据给后端时,报错:
    这是因为前台form表单中的某些参数 和 后台接受的参数类型不一致导致的。即参数名称相同,但是类
    型不一致。spring mvc在绑定参数的时候出现异常,所以返回400错误。但是坑爹的地方在于,这个异常会被
    spring mvc吃掉,不会显示在控制台中。
    解决办法:把当前日志设为debug 级别,然后在日志中即可看到spring 抛出的异常信息,即可发现哪个参数出现了错误。
    (大坑)但是当用AJAX技术请求时,后端它会连错都不会报的!!亲身经历,崩溃中……


    清除@SessionAttributes中的属性的正确解法:
    sessionStatus.setComplete(); //注意它不会清除HttpSession中的属性;

    关于运行期异常:Failed to instantiate [java.util.List]: Specified class is an interface;
    原因:Spring在注入的时候,不允许注入一个List类型的对象:request.getParameter("name"),如果你单纯
    接收一个list参数,list虽然有get和set方法,但是没有名字呀,只能根据数组下标来判断参数位置。
    解决:新建一个包装类专门来包装类似的需要接收的list参数。


    (大坑)用window.location.href = "#" 跳转到Controler后,在转发到页面时,页面中文乱码???;去掉方法中形
    参:PrintWriter out就好使了!

    数据库连接 坑:
    使用:MySql+MyBatis+Druid;让MyBatis一次执行多条语句时,报错:sql injection violation, multi-statement not allow:
    原因一:连接数据库的url上没有加上支持批量的参数
    原因二(重点):Druid配置的问题,异常是Druid的WallFilter.check()抛出的;
    解决方案:不要同时配置filters和proxyFilters,filter都是内置的,想通过proxyFilters来定制的话,就不要配置filters。

    前端 坑:
    前端有时样式会失灵,可以的引入的css,js存在重复冲突,互相覆盖造成的;---排除法

    在做Http请求时,如果你的页面上的路径不以/开头,则认为是相对路径,默认会自动加上上个页面请求的路

    发布 坑:
    将IDEA的项目直接扔Tomcat的webapp下,当部署项目时,会因项目的路径的原因而找不到资源,设置项目的根
    路径;而采用ajax技术时,我暂时是通过隐藏表单的方式传递项目的跟路径,然后用js获取想项目的根路径;

  • 相关阅读:
    【微信公众号开发】【13】批量导出公众号所有用户信息到Excel
    【实战问题】【1】@PostConstruct 服务启动后加载两次的问题
    敌兵布阵(树状数组)
    Java大数应用
    Exponentiation(java 大实数)
    确定比赛名次(拓扑排序)
    487-3279(输入外挂)
    More is better(并查集)
    How Many Tables(并查集)
    Convex(扫描线降维)
  • 原文地址:https://www.cnblogs.com/zhaojinxin/p/7105430.html
Copyright © 2011-2022 走看看