我有一个Tomcat 7应用程序,它在启动时启动一个Thread,在做了一些事情之后我想调用“something”来初始化/启动一个部署在Tomcat上的servlet。
任何想法?
答案 0 :(得分:1)
servlet由servlet容器以两种方式之一初始化:
或
如果你的servlet没有标记为在启动时加载,那么只需从你的线程向你的servlet发送一个Http请求。您可以使用HttpURLConnection
或任何类似的API来执行此操作。
答案 1 :(得分:0)
以下是解决方案:
private boolean startup() throws ClientProtocolException, IOException {
logger.entry();
HttpPost request = new HttpPost("http://.../StartupServlet");
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(30 * 1000)
.setConnectionRequestTimeout(30 * 1000)
.setConnectTimeout(30 * 1000)
.build();
request.setConfig(requestConfig);
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = client.execute(request);
if (HttpStatus.SC_OK != response.getStatusLine().getStatusCode()) {
return false;
}
logger.exit();
return true;
}