"如题,我发送验证邮件的时候带了 symphony [图片] 于是我查下了代码,发现在发送邮件时 latkes.class 里 getServePath() 已经不为空了,而且直接返回了一个带 symphony 的连接 getServePath() 时采取是直接读配置文件: contextPath = LATKE_PRO .."

邮件发送必带 contextPath: symphony

本贴最后更新于 682 天前,其中的信息可能已经事过景迁

如题,我发送验证邮件的时候带了 symphony

87564695b7ae4d1294dd6dbed69d9806.png

于是我查下了代码,发现在发送邮件时 latkes.class 里 getServePath() 已经不为空了,而且直接返回了一个带 symphony 的连接

getServePath() 时采取是直接读配置文件:

contextPath  =  LATKE_PROPS.getProperty("contextPath");

但这个 contextPath 配置项根本不存在,应该为空才对 向上查

在 AbstractServletListener 中有个 contextInitialized 方法,使用 servletContext.getContextPath() 中初始化了 contextPath 为 symphony: javax.servlet.ServletContext

到此为止,基本清楚了,由于使用了 javax.servlet.ServletContext.getContextPath(),所以会带 symphony 这个上下文环境

可是是个 bug 么?还是我查错了?

我想快速解决方法就是把整个项目丢到 root 目录中去,这样上下文环境就应该为空了

  • Sym

    Sym 是一个用 Java 实现的现代化社区(论坛 / 社交网络 / 博客)平台,“下一代的社区系统,为未来而构建”。黑客派就是使用该系统搭建的 ❤️

    350 引用 • 3792 回帖 • 641 关注
  • 邮件
    13 引用 • 45 回帖
感谢    关注    收藏    赞同    反对    举报    分享
5 回帖    
请输入回帖内容...
  • 88250      

    在 latke.props 里面显示配置一下 contextPath=(值留空)

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • vvsuperman            

    不行哈,试过了,在读取配置前就已经初始化掉了

    感谢    赞同    反对    举报    分享       回复
  • 88250      

    看来确实是个 bug,谢谢帮忙查证 :)

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • vvsuperman            

    嗯嗯:)

    感谢    赞同    反对    举报    分享       回复
  • daxiahy      

    这个问题现在怎么解决呢?我也遇到了

    感谢    赞同    反对    举报    分享       回复