gpt4 book ai didi

java - getServletContext().getAttribute() 返回空值?

转载 作者:行者123 更新时间:2023-11-30 06:39:04 25 4
gpt4 key购买 nike

当尝试像这样设置 Context 属性时:

void init()
{
String testing = new String();
testing = "This is a test";
getServletContext().setAttribute("test", testing);
}

在一个 servlet 中,像这样获取属性:

String testing = (String) getServletContext().getAttribute("test")

在第二个 servlet 中,testingnull

这是否意味着我的 servlet 处于不同的上下文中?如果是这样,我如何访问第一个 servlet 的上下文属性?请为此提供引用,因为我对 java/servlet 比较陌生。

我将 Netbeans 与 Glassfish 3 结合使用。

编辑:它们都在同一个 webapp 中,并且都在同一个 WEB-INF/web.xml 中定义

最佳答案

如果两个 servlet 在同一个 webapp 中,默认情况下初始化顺序是未定义的。因此,您的“第二个”servlet 可能会在“第一个”之前初始化(根据 web.xml 中的顺序)。您可以通过向 servlet 标记添加一个 load-on-startup 标记来修复它:

<servlet>
<servlet-name>first<servlet-name>
...
<load-on-startup>1<load-on-startup>
</servlet>

<servlet>
<servlet-name>second<servlet-name>
...
<load-on-startup>2<load-on-startup>
</servlet>

关于java - getServletContext().getAttribute() 返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444674/

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