Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Declarative service in jetty 7.2.2

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 <henrik.gustafsson@xxxxxxxx> 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 <henrik.gustafsson@xxxxxxxx> 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 <henrik.gustafsson@xxxxxxxx> 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
>> jetty-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>> _______________________________________________
>> jetty-users mailing list
>> jetty-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
> _______________________________________________
> jetty-users mailing list
> jetty-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
> _______________________________________________
> jetty-users mailing list
> jetty-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jetty-users

_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users


Back to the top