We use the DS approach to deploy our custom servlets. For static files we use the default file serving mechanisms, and for us using RFC66-style bundles to serve the static files is quite handy.
Try importing this project http://blog.fnord.se/storage/webthing-static.zip for a simple example that serves a simple static file. No code required, just meta-data :) If you really want to use the DS approach to serve static files you need to instantiate something that can serve the files; probably a ResourceHandler. The problem there is that ResourceHandler does not extend ContextHandler which is what jetty-osgi-boot is looking for. If I were you I'd just try to expose the static files using some other method, but if you figure something out, post it here; I'm curious! // Henrik On Feb 17, 2011, at 17:14 , Mitul Adhia wrote: > Hi Henrick , > > In my case jetty is embedded in equinox container and i do not have WEB-INF > folder structure anywhere in my project. So definetly i wont be using web.xml > to register the servlet / point to any static html files . Also i do not > have war files which can be deployed on my jetty server ... basicaly i was > using the DS approach which you have explained so far ... > > In that case how the approch which you pointed out > http://wiki.eclipse.org/Jetty/Feature/Jetty_OSGi#Deployment_of_web-applications_via_OSGi > will sufice my requirement . I went through the link but it didn't help me in > my case ... > > Best Regards, > Mitul > > On Thu, Feb 17, 2011 at 9:29 PM, Henrik Gustafsson > <[email protected]> wrote: > There are many ways of doing that. > > For the static files we serve up, we've created a bundle that contains this > header in the MANIFEST.MF: > > Web-ContextPath: / > > We also have a WEB-INF-folder containing a standard web.xml. Our files are > placed relative to the root of the bundle, so immediately inside the bundle > you'll find WEB-INF and index.html (and the other files) > > A web.xml might look like this: > > <?xml version="1.0" encoding="UTF-8"?> > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns="http://java.sun.com/xml/ns/javaee" > xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > id="WebApp_ID" version="2.5"> > <display-name>Webthing</display-name> > <servlet-mapping> > <servlet-name>default</servlet-name> > <url-pattern>/</url-pattern> > </servlet-mapping> > </web-app> > > The osgi boot bundle will pick this up automagically. See > http://wiki.eclipse.org/Jetty/Feature/Jetty_OSGi#Deployment_of_web-applications_via_OSGi > for details. > > // Henrik > > > On Feb 17, 2011, at 16:40 , Mitul Adhia wrote: > > > Hi Henrick, > > > > Yes that was the issue i tried the putting below xml snippet under the > > Handler class difinition > > > > <Item> > > <New class="org.eclipse.jetty.server.handler.ResourceHandler"> > > <Set name="directoriesListed">true</Set> > > <Set name="welcomeFiles"> > > <Array type="String"><Item>index.html</Item></Array> > > </Set> > > <Set name="resourceBase">.</Set> > > </New> > > </Item> > > > > Now my index.html file is located in different bundle not in the one were > > my jetty.xml file is located . how do i have access to that html file using > > following url > > http://localhost:8080/flexui/index.html .... > > > > Do i need to add any specific handler which would extend the resource > > handle and take the html file from that bundle ...??? > > > > Best Regards, > > mitul > > > > > > On Thu, Feb 17, 2011 at 8:58 PM, Henrik Gustafsson > > <[email protected]> wrote: > > I think you are overwriting the old handler attribute. > > > > Say, do you perhaps have two <Set name="handler"></Set>-sections in your > > jetty.xml? If so you should probably merge contents of the <Array>-tags > > instead. > > > > // Henrik > > > > On Feb 17, 2011, at 16:12 , Mitul Adhia wrote: > > > >> Hi Henrik, > >> > >> Was trying to append the content of jetty.filserver.xml in jetty.xml so > >> default configuration for resource file can also be added along with the > >> context . But after adding this i again started getting the exception > >> given below .. yes after adding the xml snippet the Server class was > >> configure file resource value . > >> > >> jettyetc=etc/jetty.xml > >> 2011-02-17 18:09:10.315:INFO::Configuring the default jetty server with > >> bundleentry://68.fwk25567987/etc/jetty.xml > >> java.lang.IllegalStateException: ERROR: No ContextHandlerCollection or > >> OSGiAppProvider configured > >> at > >> org.eclipse.jetty.osgi.boot.internal.serverfactory.ServerInstanceWrapper.init(ServerInstanceWrapper.java:333) > >> > >> > >> Content from jetty.resource.xml file > >> > >> <Set name="handler"> > >> <New class="org.eclipse.jetty.server.handler.HandlerList"> > >> <Set name="handlers"> > >> <Array type="org.eclipse.jetty.server.Handler"> > >> <Item> > >> <New class="org.eclipse.jetty.server.handler.ResourceHandler"> > >> <Set name="directoriesListed">true</Set> > >> <Set name="welcomeFiles"> > >> <Array type="String"><Item>index.html</Item></Array> > >> </Set> > >> <Set name="resourceBase">.</Set> > >> </New> > >> </Item> > >> <Item> > >> <New class="org.eclipse.jetty.server.handler.DefaultHandler"> > >> </New> > >> </Item> > >> </Array> > >> </Set> > >> </New> > >> </Set> > >> > >> > >> Now the question is how do i do the configuration for fileresource . The > >> index.html file is located in bunlde where WebThing.java which extends > >> ServletContexthandler is located .. > >> > >> Best Regards, > >> mitul > >> > >> On Thu, Feb 17, 2011 at 8:06 PM, Henrik Gustafsson > >> <[email protected]> wrote: > >> > >> On Feb 17, 2011, at 15:28 , Mitul Adhia wrote: > >> > >> > Hi Henrik, > >> > > >> > Thanks a ton it works now !!!!! > >> > > >> > I have one more question to configure ssl or resource file there are > >> > corresponding xml files i.e jetty-ssl.xml & jetty-fileserver.xml do i > >> > need to add them in the same location where my jetty.xml is available or > >> > i can append the data which are available in both the xml's in single > >> > jetty.xml.... ? What is your suggestion ? > >> > >> I just added an ssl connector into jetty.xml: > >> > >> <Call name="addConnector"> > >> <Arg> > >> <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> > >> <Set name="host"> > >> <SystemProperty name="jetty.ssl.host" default="0.0.0.0" /> > >> </Set> > >> <Set name="Port"> > >> <SystemProperty name="jetty.ssl.port" default="8443" /> > >> </Set> > >> <Set name="maxIdleTime">30000</Set> > >> <Set name="Acceptors">2</Set> > >> <Set name="AcceptQueueSize">100</Set> > >> <Set name="Password"> > >> <SystemProperty name="jetty.ssl.password" default="..." /> > >> </Set> > >> <Set name="Keystore"> > >> <SystemProperty name="jetty.ssl.keystore" default="..." /> > >> </Set> > >> <Set name="KeystoreType"> > >> <SystemProperty name="jetty.ssl.keystoretype" default="..." > >> /> > >> </Set> > >> <Set name="KeyPassword"> > >> <SystemProperty name="jetty.ssl.keypassword" default="..." > >> /> > >> </Set> > >> <Set name="Truststore"> > >> <SystemProperty name="jetty.ssl.keystore" default="..." /> > >> </Set> > >> <Set name="TrustPassword"> > >> <SystemProperty name="jetty.ssl.password" default="..." /> > >> </Set> > >> <Set name="TruststoreType"> > >> <SystemProperty name="jetty.ssl.keystoretype" default="..." > >> /> > >> </Set> > >> </New> > >> </Arg> > >> </Call> > >> > >> We use the jetty.ssl.* properties to override the default values when we > >> develop. The values used in deployment are set as defaults. Note that we > >> reuse the jetty.ssl.keystore* stuff, which you might or might not want to > >> do. > >> > >> > If answer is yes do i need to create customize handler for resourcefile > >> > handler / ssl connector the way it was develop for servlet context > >> > handler ? > >> > Something like this > >> > > >> > MyFileHandlet extends > >> > MySSLConnector extends SslSelectChannelConnector . > >> > >> Nope, shouldn't be necessary. > >> > >> // Henrik > >> _______________________________________________ > >> jetty-users mailing list > >> [email protected] > >> https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > >> _______________________________________________ > >> jetty-users mailing list > >> [email protected] > >> https://dev.eclipse.org/mailman/listinfo/jetty-users > > > > > > _______________________________________________ > > jetty-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/jetty-users > > > > > > _______________________________________________ > > jetty-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/jetty-users > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users _______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
