• 常用问题总结


    HTTP 400 错误 - 请求无效 (Bad request)

    在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;
    原因:1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
         2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;
    案例:当使用springmvc接受前端页面的请求时,前端传递的日期格式是yyyy-mm-dd,而后端默认接收的日期格式是yyyy/mm/dd,导致前端访问后端无法访问到,出现400错误。

    java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

    这类的问题大多都是数据库执行的sql语句格式不正确引起,大多可以通过检查sql拼写能够发现问题出现在哪里。如果肉眼观察不到,可以通过调试代码,在数据库实际执行sql语句前来查看具体的sql语句。
    mybatis的排查方法:在BaseStatementHandler类的构造函数上打上断点,进入调试后,查看boundSql的值,即可发现问题所在之处。

      protected BaseStatementHandler(Executor executor, MappedStatement mappedStatement, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) {
        this.configuration = mappedStatement.getConfiguration();
        this.executor = executor;
        this.mappedStatement = mappedStatement;
        this.rowBounds = rowBounds;

        this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
        this.objectFactory = configuration.getObjectFactory();

        if (boundSql == null) { // issue #435, get the key before calculating the statement
          generateKeys(parameterObject);
          boundSql = mappedStatement.getBoundSql(parameterObject);
        }

        this.boundSql = boundSql;

        this.parameterHandler = configuration.newParameterHandler(mappedStatement, parameterObject, boundSql);
        this.resultSetHandler = configuration.newResultSetHandler(executor, mappedStatement, rowBounds, parameterHandler, resultHandler, boundSql);
      }

     tomcat7.0.94和tomcat8.5.42启动时,控制台乱码

    1.打开你安装Tomcat的所在目录
    2.打开后选择conf目录。
    3.将里面的logging.properties文件用编辑器打开
    5.修改为java.util.logging.ConsoleHandler.encoding = GBK;
    6.重新启动Tomcat就可以了。
    

      

    剩余继续更新...

  • 相关阅读:
    ListBox 绑定之-SelectedItem
    tomcat部署web项目的3中方法
    NET 2.0中的字符串比较和方法
    winform WindowsMediaPlayer 属性
    C语言32个关键字解释
    进程间通讯—自定义消息
    常见符号英文表示
    在vs 中运行C程序
    wpf 不是很明白,先记下
    PenTest-log for ging解决方案
  • 原文地址:https://www.cnblogs.com/lpob/p/10852600.html
Copyright © 2020-2023  润新知