如何在没有 HttpServletRequest 的情况下获取 Web 应用程序的 Url

发布于 2025-01-09 11:52:57 字数 207 浏览 0 评论 0原文

我想在 Java Spring boot 中获取应用程序的当前 url。但问题是,我想从 util 类而不是从 Controller 获取它。我尝试从 HttpServletRequest 获取此内容,但无法将其包导入到我的 util 类中。

请帮助我获取我的网站的 URL,该 URL 不应该被硬编码。或者是否有办法在我的 util 类中使用 HttpServletRequest 。

I want to get the current url of my application in Java Spring boot. But the problem is, I want to get that from the util class and not from Controller. I tried to get this from HttpServletRequest but I am unable to import its package into my util class.

Please help me to get the URL of my website which should not be hardcoded. Or if there is a way to use HttpServletRequest into my util class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇女薄笑 2025-01-16 11:52:57

例如,如果您在服务中需要 url,则可以使用 @Autowired 注释 HttpServletRequest,如下所示:

@Service
public class MyService {
    @Autowired
    private HttpServletRequest httpServletRequest;



    public String getCurrentUrl() {
        return httpServletRequest.getURL().toString();
    }
}

您可以在任何组件中使用相同的技术,因此由春天。如果您直接从 http 请求执行代码,它会起作用。这意味着您不能在从接收 http 请求的线程启动的不同线程中使用它。

If you need the url for example in your service you can annotate with @Autowired an HttpServletRequest as follow:

@Service
public class MyService {
    @Autowired
    private HttpServletRequest httpServletRequest;



    public String getCurrentUrl() {
        return httpServletRequest.getURL().toString();
    }
}

You can use the same technique in any Component, so any object created by spring. It works if you are executing code directly from an http request. It means that you can't use it for example in a different thread started from the thread receiving the http request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文