我有一个要求,我在这列中有一个表是phno,name,id。当我更新表时,一个servlet需要读取该表并连续收集phno,而不向该servlet发出任何请求。然后我们可以获得新的phno 并将短信发送给那些人。
任何人都有关于此发送短信的想法。我正在使用java spring,tomcat。还有其他办法吗?
答案 0 :(得分:5)
如果您根本不想对其发出HTTP请求,请不要使用HttpServlet
。使用ServletContextListener
。
public class Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
// Do some stuff during webapp's startup.
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// Do some stuff during webapp's shutdown.
}
}
在<listener>
中注册web.xml
条目,或者当您已经在Servlet 3.0上注册@WebListener
注释时。
从此侦听器开始,您可以使用ExecutorService
来运行后台线程。或者,当您的servletcontainer / appserver支持它时(Tomcat不支持),而是利用其作业调度工具。
答案 1 :(得分:1)
如果要在启动时加载servlet,请在load-on-startup
内的启动时添加要加载的servlet的web.xml
元素:
<servlet>
<servlet-name>MyStartupServlet</servlet-name>
<servlet-class>com.package.MyStartupServlet</servlet-class>
<load-on-startup/>
</servlet>
答案 2 :(得分:0)
查看SMS Gateway。您可能需要订阅一些SMS网关才能从您的程序发送短信。