一旦部署了主servlet,它就需要执行计算并准备一个列表。该列表需要由随后调用的其他servlet访问。计算只需要运行一次。有人能解释一下怎么做吗。
谢谢
一旦部署了主servlet,它就需要执行计算并准备一个列表。该列表需要由随后调用的其他servlet访问。计算只需要运行一次。有人能解释一下怎么做吗。
谢谢
您可以使用Servlet上下文侦听器
并从中执行计算。
类文件:
public final class YourListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
ServletContext context = event.getServletContext();
//Calculation goes here
}
@Override
public void contextDestroyed(ServletContextEvent event) {
//Nothing to do
}
}
web.xml文件:
<web-app>
<!-- ... -->
<listener>
<listener-class>ext.company.project.listener.YourListener</listener-class>
</listener>
<!-- ... -->
</wep-app>
或者,您可以在Servlet规范的后续版本中使用@WebListener
来注释Servlet上下文侦听器
类,而不是web.xml文件中的该条目。Servlet容器将自动检测、加载和执行侦听器类。
资源:
在您的主servlet初始化方法中
public void init(ServletConfig config) throws ServletException {
super.init(config);
// do calculations
ArrayList resultsList = calculate_something();
// save for other servlets
config.getServletContext().setAttribute("SAVED_DATA", resultsList);
}
在其他servlet中
// retrieving value from ServletContext
ArrayList list = (ArrayList)getServletContext().getAttribute("SAVED_DATA");
Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...
Check this, List<String> list = new ArrayList<String>(); for (int i = 0; i < 10000; i++) { String value = (""+UUID.randomUUID().getLeastSignificantBits()).substring(3, ...
I am in the middle of solving a problem where I think it s best suited for a decorator and a state pattern. The high level setting is something like a sandwich maker and dispenser, where I have a set ...
I have been trying to execute a MS SQL Server stored procedure via JDBC today and have been unsuccessful thus far. The stored procedure has 1 input and 1 output parameter. With every combination I ...
I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...
If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...
I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....
I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...