【发布时间】:2011-06-20 15:30:25
【问题描述】:
我用init() 和doGet()、doPost() 方法编写了一个简单的servlet。我有一个要求,我有一个需要调用服务器启动的 API。
有没有可能。我尝试使用 init 方法,并在 web.xml 中设置默认值,但我仍然无法这样做。
如果我遗漏了什么,请告诉我。
谢谢
【问题讨论】:
我用init() 和doGet()、doPost() 方法编写了一个简单的servlet。我有一个要求,我有一个需要调用服务器启动的 API。
有没有可能。我尝试使用 init 方法,并在 web.xml 中设置默认值,但我仍然无法这样做。
如果我遗漏了什么,请告诉我。
谢谢
【问题讨论】:
您是否将 load-on-startup 属性设置为正数?
<servlet id=”servlet1”>
<load-on-startup>2</load-on-startup>
</servlet>
或者,您可能希望在容器启动时使用ServletContextListener 进行初始化工作。这是当 servlet 容器上线时有一个回调来做一些初始化工作的“事实上的”标准,例如我们使用它来读取一些 XML 文件并填充缓存。
【讨论】:
使用侦听器类来调用方法。例如......在 web.xml 文件中定义一个监听器。并在监听器中给出一个类名。现在创建一个servlet 类或java 类来编写调用API 的代码。
<web-app>
<listener>
<listener-class>MyServlet</listener-class>
</listener>
</web-app>
希望这会有所帮助。
【讨论】: