# 背景

最近参与的一个新的需求,遇到一些问题,简单记录一下。

简要说明,新需求需要整合两个 service:

  • 一个是 springboot + bootstrap vue,我们并不是该项目 owner,仅做一些业务植入
  • 一个是 python flask + vue element,这是我们自己的主要项目之一,处理实际业务

前端的一部分从 vue element 移植到 bootstrap vue,并在 bootstrap vue 端增加部分新页面

后端以 springboot 做 proxy,请求转发到 python,具体业务实现在 python 端

# 问题

  1. idea download source code Connection refused to host: 127.0.0.1; nested exception is
  • 参考: https://stackoverflow.com/questions/68348626/fix-intellij-idea-download-sources-connection-refused-to-host-127-0
    -0-1-error
  • 解决: 修改 JDK for importer
  1. Get request body from HttpServletRequest
  • 参考: https://stackoverflow.com/questions/8100634/get-the-post-request-body-from-httpservletrequest
  • 解决: String test = request.getReader ().lines ().collect (Collectors.joining (System.lineSeparator ()));
  • 其他: getInputStream ()
  1. @Value 注入属性与 final 修饰问题
  • 参考: https://stackoverflow.com/questions/65797536/why-java-final-variables-cannot-be-assigned-a-value-in-the-setter
    -method
  • 原因: 属性注入时机
  • 解决:
    private final String HOST;
    public XxxServiceImpl(@Value("${api.url.xxx.endpoint.host}") String url){
        this.HOST = url;
    }
  1. 为什么无法从 HttpServletRequest 读取多次 body
  • 参考: https://stackoverflow.com/questions/71997116/why-can-the-body-of-the-httpservletrequest-not-be-read-multiple-times
  • 原因: 性能,内存方便的优化
  • 办法: 自定义 RequestWrapper 类继承 HttpServletRequestWrapper,作为请求拦截器,在该类定义成员变量 cache body 属性,或者继承 OncePerRequestFilter 重写 doFilterInternal 方法等等
  1. tomcat 首页访问 Manager App 报 403
  • 原因: 因为安全因素,tomcat 默认限制非本机用户访问
  • 解决: 修改 apache-tomcat-8.5.84/webapps/manager/META-INF/context.xml,注释掉 127 那个标签
  1. tomcat 修改端口,多 tomcat 共存场景
  • 解决: 修改 apache-tomcat-8.5.84/conf/server.xml,8005/8080/8009,统一 + 1
  1. Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
  • 原因:缺少 tomcat servlet-api.jar,直接原因,maven 引入该包 scope 是 provided,不是 compile
  • 解决:注释 scope 或者在 idea 种启用 Include dependencies with "Provided" scope

# 参考

https://www.baeldung.com/spring-reading-httpservletrequest-multiple-times

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号