webapp 重启自身

在tomcat下开发的一个webapp,要求可以通过web页面的按钮重新启动自己这个servlet

方案如下:

1.修改tomcat内conf/context.xml文件

     <Context privileged="true">

2.在servlet中实现 ContainerServlet接口,并引入库tomcat内lib/catalina.jar

public class RootServlet extends HttpServlet implements ContainerServlet 

{


    private static final long serialVersionUID = 1L;


    private Wrapper wrapper = null;
    
    private Context context = null;


    public Wrapper getWrapper()
    {
        return this.wrapper;
    }


    public void setWrapper(Wrapper wrapper)
    {
        if (wrapper != null)
        {
            this.wrapper = wrapper;
            this.context = (Context) this.wrapper.getParent();
        }
    }


    private void stop()
    {
        try
        {
            ((Lifecycle) this.context).stop();
        }
        catch (LifecycleException e)
        {
            e.printStackTrace();
        }
    }


    private void reload()
    {
        this.context.reload();
    }




    private void stop() {
        try {
            ((Lifecycle) this.context).stop();
        } catch (LifecycleException e) {
            e.printStackTrace();
        }
    }


    private void reload() {
        this.context.reload();
    }

。。。

}


3.在doGet或doPost中实现对stop和reload的调用即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章