• 项目开发中常见问题记录


    一、关于mybatis框架的问题 

    1. mybatis设置sql中的参数时,#和$的区别?

      使用#的环境:当只传入一个参数的时候(此时参数的类型会被明确设置);当使用集合类或者是类实例作为参数携带体时,如果参数需要自动加上'',就用#。

      使用$的环境:传入的参数不要求mybatis对其做任何处理就使用$。

    二、关于spring框架的问题

    1. 当使用window.location.href跳转页面后,springmvc在渲染页面时不解析request中的参数

      需要时间解决。

    2. 在spring mvc应用中,对于前台form表单提交的数组或json字符串,后端在使用@requestParam注解接收时,是接收不到的,需要配置对应的转换器,比如配置实现ConditionalGenericConverter的转换器,然后再配置到spring mvc框架中即可,我使用的是spring boot,使用配置类实现WebMvcConfigurer,然后覆盖方法,配置形如此即可。

        @Override
        public void addFormatters(FormatterRegistry registry) {
            WebMvcConfigurer.super.addFormatters(registry);
            registry.addConverter(new StringToLongListConverter());
        }

    三、http

    1. 在下载的使用,会产生下载的文件竟然是当前的页面内容

      必须要在写入内容到response的输出流之前设置contentType和header。

    2. 下载的文件的文件名会存在乱码的问题

      方案一:  

    //此案例是以下载excel为说明
    String fileName = "下载的文件名称"; fileName = URLEncoder.encode(fileName, "UTF-8"); response.setContentType("application/vnd.ms-excel,charset=UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls;filename*=UTF-8''" + fileName + ".xls");

      方案二:

    //此案例是以下载excel为说明
    String fileName = "下载的文件名称"; fileName = new String(filename.getBytes(), "ISO8859-1"); response.setContentType("application/vnd.ms-excel,charset=UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");

    四、关于Java

    1. JDBC在机器不连接VPN的时候可以访问到数据库,但是在当机器连接了VPN之后,JDBC访问数据库失败,报连接被拒绝的错误。

      这是在Java的网络编程中,涉及到了IPv4和IPv6的问题,只需要设置Java虚拟机的属性 Java java.net.preferIPv4Stack=true即可。默认是false。

    2. 使用Java的java.awt的相关API绘制中文文字时,Linux会出现中文文字都是小框框的问题,或者是加粗没有生效。

      这是当前的系统环境没有相关的字体的缘故,只需要引入响应的字体即可。

    3. net.sf.json.JsonObject在put值时,如果value为null,则不会加入此项。

    未完,待续

  • 相关阅读:
    【microstation CE二次开发】不打开microstation,以COM方式启动Microstation
    【microstation CE二次开发】环境搭建
    Node安装与卸载命令汇总
    Maven进行clean时报错,解决方法
    Django 报ckeditor/skins/moono/skin.js 404
    Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract
    精准测试系列分享之一:JaCoCo 企业级应用的优缺点分析
    Java 中常见的细粒度锁实现
    JVM 的运行时数据区域分布
    Java 细粒度锁续篇
  • 原文地址:https://www.cnblogs.com/wy2185/p/6097869.html
Copyright © 2020-2023  润新知