我需要根据运行Web应用程序的当前主机编写动态URL。 我在启动时通过 ServletContextListener 启动了一个backgrund进程。
此主题必须使用注册票向客户发送电子邮件。在电子邮件文本中,我需要将完整的URL打印到我的webapp和servlet。让我们说像这样的电子邮件“点击此处确认您的订阅或复制并粘贴blabla ....”
我如何获取正在运行的webapp的FQDN? 它不是servlet,所以我无法在 HttpServletRequest 实例上进行中继,并且服务器有许多虚拟主机。
这是我启动帖子的地方:
public class Initializer implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent arg0) {
Log.addItem("SYSTEM START");
PasswordRecoveryListener pwlisten = new PasswordRecoveryListener(1000 * 60 * 1);
pwlisten.start();
}
}
在 arg0.getServletContext()。getContextPath()我找到的只是路径。
我在Context中查找了主机名(我有其他常量),但没有成功。