【发布时间】:2012-03-27 03:14:40
【问题描述】:
我需要以编程方式在 Jetty 6 服务器上添加和删除 servlet。 虽然添加几乎是直截了当的,但我找不到有效的删除方法。 出于我的目的,添加和删除 servlet 很重要,因为它与动态组件体系结构相关联。添加组件时需要添加新服务,删除组件时需要删除服务。
为了添加一个 servlet,我使用了这个模式:
Server server = new Server(8080);
class MyServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
resp.getOutputStream().write("Hello World!".getBytes());
}
}
...
public void addServlet(HttpServlet s, String path)
{
Context root = new Context(server,"/",Context.SESSIONS);
root.addServlet(new ServletHolder(new MyServlet()), "/test/*");
root.getServletHandler().
}
public void removeServlet(HttpServlet s, String path)
{
//What I have to put here ? There is no removeServlet like methods in server/Context/ServletHolder
}
为什么删除 servlet 不那么明显?你能解释一下动机吗?
【问题讨论】: