当前位置: 首页 > 知识库问答 >
问题:

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

谷梁承宣
2023-03-14

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

请帮我得到我的网站的网址,不应该硬编码。或者如果有一种方法可以使用HttpServletRequest到我的util类。

共有1个答案

丰誉
2023-03-14

例如,如果您需要在您的服务中的网址,您可以使用@AutowoeanHttpServletRequest进行注释,如下所示:

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



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

您可以在任何组件中使用相同的技术,因此任何由spring创建的对象都可以使用相同的技术。如果您直接从http请求执行代码,它就可以工作。这意味着您不能在从接收http请求的线程开始的不同线程中使用它。

 类似资料:
  • 问题内容: 我刚刚开始使用Python,我想知道如何在不需要框架的情况下对Web应用程序进行编程。我是一位经验丰富的PHP开发人员,但是我有尝试Python的冲动,而且我通常喜欢从头开始编写,而没有受到flask和django等框架的限制。 问题答案: WSGI是Web服务器接口的Python标准。如果要创建自己的框架或在没有框架的情况下运行,则应进行研究。特别是,我发现Ian Bicking的D

  • 我使用创建了一个应用程序构建文件。这将用和文件填充文件夹。 我在internet上进行了搜索,发现可以使用运行这些文件。不幸的是,这会产生以下错误输出: org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autocigure.orm.jpa.hibernatejpaAutoCo

  • 问题内容: 我需要将一堆列名称解析为列索引(以便使用一些不错的方法)。但是,我知道如何获取对象的唯一方法是调用some 。 我的问题是,获取ResultSet会占用我不必要的资源-我真的不需要查询表中的数据,我只需要一些有关表的信息。 有谁知道以任何方式获取对象而不先获取(可能来自巨大表)的对象吗? 问题答案: 也许你可以使用 它为每个表列返回一行。 在这种情况下,您将使用返回的本身,而不是其。

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 要获取请求URL,可以在堆栈溢出中找到以下方法。 第一种方法: 第二种方法: 第三种方法: 我不知道在spring boot应用程序中使用哪一个来获取请求URL。 如果我使用第三种方法,那么我是否需要在配置类中创建RequestContextListener的bean,如下所示?

  • 问题内容: 我有一个从网站的jnlp文件启动的Java应用程序。我正在尝试使其运行,而不会在运行前弹出一堆安全警告。 该程序分为大约10个不同的jar文件,大约30个jar库,以及也包含在jar文件中的几个本机库。 我已经使用官方代码签名证书(来自Verisign)对所有jar文件进行了签名,并将jnlp文件包含在保存主类的jar文件中,并向我所使用的主要10个jar添加了权限和代码库属性编译。