gpt4 book ai didi

java - 无法在 Tomcat 项目的测试中连接 Java ServlextContext

转载 作者:行者123 更新时间:2023-11-28 23:25:35 25 4
gpt4 key购买 nike

我遇到的问题是我像下面的代码一样通过将它传递给构造函数来 Autowiring servlet 上下文。不幸的是,它不能在运行测试时 Autowiring 任何东西,因为没有 ServlextContext 并且 Spring 失败。

@Autowired
public MyClass(ServletContext context) {
this.servletContext = context;
}

我真的不需要为测试 Autowiring ServletContext,仅当运行 Tomcat war 时,然后我调用 ServletContext 上的方法

我正在运行项目使用 Spring 的 Tomcat 服务器。

最佳答案

因为我使用的是 Spring,所以我通过实现 ServletContextAware 并添加此方法来解决此问题。如果没有上下文,则永远不会调用该方法,因此如果没有上下文可用,servletContext 将保持为 null

public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}

然后我在运行实际需要 servlet 上下文的代码部分之前检查 if(servletContext==null)

关于java - 无法在 Tomcat 项目的测试中连接 Java ServlextContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37604157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com