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的調用即可

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