这个问题在这里已经有答案了:
如何在基于servlet的web应用程序中运行后台任务(5个答案)23小时前关门了。对不起,如果你问什么蠢话,但我完全是初学者。我正在尝试使用javawebapp原型(servlets/maven)编写简单的web应用程序。应用程序内的客户端将向服务器发送一些数据,然后这些数据将在服务器端处理,并在固定的间隔后发送回客户端。我的问题是我不知道如何创建在服务器端连续运行的方法(类似于main类)。有可能创造出那样的东西吗?
9rbhqvlz1#
在较低的层次上,服务器就是这样做的:它在端口上侦听客户机请求,当请求到达时,服务器处理它。但是,如果你想构建一个web应用程序,你不必在这个级别上工作,而是在一个更高的级别上工作:你在一个web服务器上运行你的代码,比如tomcat或netty,它处理所有的低级工作,当客户机连接到它时只调用你的代码。因此,我建议您首先选择一个服务器,并遵循有关如何运行web应用程序的教程,例如阅读netty文档。如果您想让一些后台线程独立于客户机请求工作,那么可以注册一个servletcontextlistener实现,它允许您在上下文初始化(应用程序启动)和销毁(应用程序结束)时工作。例如,请参见https://mkyong.com/servlet/what-is-listener-servletcontextlistener-example/
1条答案
按热度按时间9rbhqvlz1#
在较低的层次上,服务器就是这样做的:它在端口上侦听客户机请求,当请求到达时,服务器处理它。但是,如果你想构建一个web应用程序,你不必在这个级别上工作,而是在一个更高的级别上工作:你在一个web服务器上运行你的代码,比如tomcat或netty,它处理所有的低级工作,当客户机连接到它时只调用你的代码。因此,我建议您首先选择一个服务器,并遵循有关如何运行web应用程序的教程,例如阅读netty文档。
如果您想让一些后台线程独立于客户机请求工作,那么可以注册一个servletcontextlistener实现,它允许您在上下文初始化(应用程序启动)和销毁(应用程序结束)时工作。例如,请参见https://mkyong.com/servlet/what-is-listener-servletcontextlistener-example/