尝试像这样设置Context属性时:
void init()
{
String testing = new String();
testing = "This is a test";
getServletContext().setAttribute("test", testing);
}
Run Code Online (Sandbox Code Playgroud)
在一个servlet中,并像这样获取属性:
String testing = (String) getServletContext().getAttribute("test")
Run Code Online (Sandbox Code Playgroud)
在第二个servlet中,testing是null。
这是否意味着我的servlet在单独的上下文中?如果是这样,我如何访问第一个servlet的上下文属性?请为此提供参考,因为我是java / servlet的新手。
我正在将Netbeans与Glassfish 3一起使用。
编辑:它们都在同一个webapp中,并且都在同一个WEB-INF / web.xml中定义
如果两个Servlet都在同一个Web应用程序中,则默认情况下,初始化的顺序是不确定的。可能是这样,您的“第二个” servlet在“第一个”之前被初始化(根据web.xml中的顺序)。您可以通过在servlet标签中添加启动时加载标签来解决此问题:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9902 次 |
| 最近记录: |