2011-03-17 357 views
0

我有一个要求,其中,我有一个表中的列是phno,名称,ID。当我更新表时,一个servlet需要读取该表并收集phno,并向servlet发出任何请求。然后我们可以得到phno's,它们是 ,并且只向那些人发送短信。当tomcat启动时自动启动Servlet ...?

任何人有这个想法发送短信。我正在使用java spring的tomcat。有没有其他的方式来做到这一点。

+0

确切的问题是什么?当tomcat启动或发送短信时启动servlet? – Pradeep 2011-03-17 05:51:22

+0

当新的电话号码到达表格时自动发送短信。我现在在使用弹簧。 – ayyappa 2011-03-17 06:13:25

回答

1

如果你想拥有在启动时加载一个servlet,加上Servlet的load-on-startup元素,您想在启动时加载内部web.xml

<servlet> 
    <servlet-name>MyStartupServlet</servlet-name> 
    <servlet-class>com.package.MyStartupServlet</servlet-class> 
    <load-on-startup/> 
</servlet> 
0

查找到SMS Gateway。您可能需要订阅某个SMS网关才能从您的程序发送短信。

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不支持),而是利用它的作业调度工具。