3月 032020
 

本文主要关注如何使用mybatis/mybatis plus连接SQL Server数据库,因此将省略其他项目配置、代码。

框架选择

应用框架:spring boot
ORM框架:mybatis plus(对于连接数据库而言,mybatis和mybatis plus其实都一样)
数据库连接池:druid

pom依赖

此处仅给出我的配置,mybatis/druid请依据自己项目的需要进行选择。 Continue reading »

2月 182020
 

题外话,前端也可以调用已有的接口获取ip,例如调用搜狐接口 https://pv.sohu.com/cityjson?ie=utf-8

在spring框架中,获取IP接口,则需要获取 HttpServletRequest 对象,该对象中包含了客户端请求的相关信息。

java代码如下:

/** 
 * @Description: 获取客户端IP地址   
 */  
private String getIpAddr(HttpServletRequest request) {   
    String ip = request.getHeader("x-forwarded-for");   
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {   
        ip = request.getHeader("Proxy-Client-IP");   
    }   
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {   
        ip = request.getHeader("WL-Proxy-Client-IP");   
    }   
    if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {   
        ip = request.getRemoteAddr();   
        if(ip.equals("127.0.0.1")){     
            //根据网卡取本机配置的IP     
            InetAddress inet=null;     
            try {     
                inet = InetAddress.getLocalHost();     
            } catch (Exception e) {     
                e.printStackTrace();     
            }     
            ip= inet.getHostAddress();     
        }  
    }   
    // 多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割  
    if(ip != null && ip.length() > 15){    
        if(ip.indexOf(",")>0){     
            ip = ip.substring(0,ip.indexOf(","));     
        }     
    }     
    return ip;   
}

Continue reading »

9月 052019
 

问题

spring boot + spring cloud,上传附件时遇到如下错误:

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (11963927) exceeds the configured maximum (10485760)

错误信息表示上传附件报超出自带tomacat限制大小(默认1M)
Continue reading »

1月 102018
 

整理笔记本时发现一些以前做过的笔记,整理一下,在博客里留个记录,省的以后忘记。
问题是这样的:dubbo在部署时需要用到dubbo-admin,但dubbo-admin需要自己编译,网上各种下载的war包可能并不适合自己的开发环境、有极大概率是没法用的。
编译dubbo-admin很简单,在编译环境中准备好jdk、maven(jdk maven配置过程就没必要说了,网上n多教程),从github上下载dubbo源代码,准备工作就这些。
我的编译环境如下:

  • MacOSX High Sierra
  • Oracle JDK 1.8
  • apache maven 3.5.2

编译步骤: Continue reading »

3月 102017
 

这几天给开发机重装系统后遇到的一个问题,maven什么的都是最新的版本(maven 3.5.2, jdk 1.8),然而用idea打开项目后,总是注解报错,然后追根溯源发现是目前版本的maven在构建时默认面向jdk 1.5……参见这里:
http://maven.apache.org/plugins/maven-compiler-plugin/index.html

Also note that at present the default source setting is 1.5 and the default target setting is 1.5, independently of the JDK you run Maven with. If you want to change these defaults, you should set source and target as described in Setting the -source and -target of the Java Compiler.

Continue reading »