package servlet.hello; import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.osgi.service.http.HttpService; import org.osgi.util.tracker.ServiceTracker; public class Hello extends HttpServlet implements BundleActivator { private static final long serialVersionUID = 1L; ServiceTracker<HttpService,HttpService> tracker; public void doGet(HttpServletRequest rq, HttpServletResponse rsp) throws IOException { rsp.getWriter().println("Hello"); } @Override public void start(BundleContext context) throws Exception { tracker= new ServiceTracker<HttpService,HttpService>(context, HttpService.class, null) { @Override public HttpService addingService( ServiceReference<HttpService> reference) { HttpService http = super.addingService(reference); try { http.registerServlet("/hello", Hello.this, null, null); } catch (Exception e) { e.printStackTrace(); } return http; } }; tracker.open(); } @Override public void stop(BundleContext context) throws Exception { tracker.close(); } }