<dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.http.whiteboard</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.framework</artifactId> <version>1.8.0</version> </dependency> import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ExampleComponent extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { String name = req.getParameter("name"); resp.setContentType("text/html"); resp.setStatus(HttpServletResponse.SC_OK); resp.getWriter().write("Hello, " + name + "!"); resp.getWriter().flush(); resp.getWriter().close(); } } import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.service.http.HttpService; import org.osgi.service.http.NamespaceException; import org.osgi.util.tracker.ServiceTracker; public class App implements BundleActivator { private ServiceTracker<HttpService, HttpService> httpServiceTracker; @Override public void start(BundleContext context) throws Exception { httpServiceTracker = new ServiceTracker<>(context, HttpService.class, null); httpServiceTracker.open(); HttpService httpService = httpServiceTracker.waitForService(5000); if (httpService != null) { try { httpService.registerServlet("/example", new ExampleComponent(), null, null); e.printStackTrace(); } } else { System.err.println("HTTP service is not available."); } } @Override public void stop(BundleContext context) throws Exception { if (httpServiceTracker != null) { httpServiceTracker.close(); httpServiceTracker = null; } } } Bundle-SymbolicName: HttpWhiteboardExample Bundle-Version: 1.0.0 Bundle-Activator: App Import-Package: org.osgi.framework,org.osgi.service.http,org.osgi.service.http.whiteboard


上一篇:
下一篇:
切换中文