June 08, 2009

OSGI Webapplikation mit PAX Web

« Encodings von Dateien wandeln mit iconv | Main | OSGI Example - Installation OSGI Server »

Das PAX Web Bundle trägt in seinem Inneren ein Jetty Webserver. Mit Hilfe des Bundles kann auf die volle Funktionalität eines J2EE konformen Webservers, innerhalb eines OSGI-Containers, zugegriffen werden. Dabei wird eine Standardimplementierung des HTTPService-Interfaces sowie eine Klasse namens Webcontainer zur Verfügung gestellt. Die Standardimplementierung ist sehr rudimentär. Der Webcontainer-Dienst bietet hingegen alle J2EE-Servlet Features.

Der Zugriff auf das Objekt erfolgt folgenderweise:

bundleContext.getServiceReference( "org.ops4j.pax.web.service.WebContainer" );
Nachfolgend können Servlet,Filter,Jsp Seiten usw. konfiguriert werden.
Beispiel:
public class Activator implements BundleActivator { 
 MyServlet myServlet = null;
 MyFilter myFilter = null;
 public void start(BundleContext bundleContext) throws Exception {
  WebContainer webContainer = (WebContainer)bundleContext.getServiceReference( "org.ops4j.pax.web.service.WebContainer");
  HttpContext context = webContainer.createHttpContext();
  myServlet = new MyServlet();
  webContainer.registerServlet( Servlet myServlet, new String{"/myServlet"}, null, httpContext);
  myFilter = new MyFilter();
  webContainer.registerFilter( myFilter, new String{"/*"}, null, null, httpContext );
 }
 public void stop(BundleContext context) throws Exception {
  webContainer.unregisterServlet(myServlet);
  webContainer.unregisterFilter(myFilter);
 }
}
Beim Installieren des Bundles wird ein Servlet und ein Filter registriert. Beim Deinstallieren werden sie wieder unregistriert.

Viele Grüße
Rafael Sobek

Technorati Tags:

Posted by rafael.sobek at 5:35 PM in OSGI

 

[Trackback URL for this entry]

Comment: Markus at Mo, 23 Nov 1:15 PM

Hi,
das klappt alles auch soweit....ich würde jetzt nur gerne eine absolute Pfad-Angabe nutzen....z.B. "C:\Temp\Hello.jsp"

Er beschert sich nicht wenn ich das tu. Dennoch schaff ich es nicht auf die JSP zuzugreugen...sobald eine keine relative Pfadangabe mache.

Ideen ?

Your comment:

(not displayed)
 
 
 

Live Comment Preview:

 
« June »
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
282930