Thank You Joakim for having a look at my problem.

Here is the update:

Following the /Album/WEB-INF/web.xml structure and the PushCacheFilter
example in the documentation I am running into errors.

Here is the web.xml

```
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee";
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
         version="2.5">

    <filter>
        <filter-name>PushFilter</filter-name>

<filter-class>org.eclipse.jetty.servlets.PushCacheFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
            <param-name>ports</param-name>
            <param-value>8443</param-value>
        </init-param>
        <init-param>
            <param-name>maxAssociations</param-name>
            <param-value>32</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>PushFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>
```

Terminal Error output:

```
2016-02-02 14:18:21.294:INFO::main: Logging initialized @212ms
2016-02-02 14:18:21.398:WARN:oejs.HomeBaseWarning:main: This instance of
Jetty is not running from a separate {jetty.base} directory, this is not
recommended.  See documentation at
http://www.eclipse.org/jetty/documentation/current/startup.html
2016-02-02 14:18:22.979:INFO:oejs.Server:main: jetty-9.3.6.v20151106
2016-02-02 14:18:23.152:INFO:oejj.ConnectorServer:main: JMX Remote URL:
service:jmx:rmi://localhost:1099/jndi/rmi://user_name:1099/jmxrmi
2016-02-02 14:18:23.162:INFO:oejdp.ScanningAppProvider:main: Deployment
monitor
[file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/webapps/]
at interval 1
2016-02-02 14:18:23.771:WARN:oejs.BaseHolder:main:
java.lang.ClassNotFoundException: org.eclipse.jetty.servlets.PushCacheFilter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at
org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:549)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:475)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:86)
at org.eclipse.jetty.servlet.BaseHolder.doStart(BaseHolder.java:95)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:855)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:438)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:405)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:372)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
2016-02-02 14:18:23.806:WARN:oejs.BaseHolder:main:
java.lang.ClassNotFoundException: org.eclipse.jetty.servlets.PushCacheFilter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at
org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:549)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:475)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:86)
at org.eclipse.jetty.servlet.BaseHolder.doStart(BaseHolder.java:95)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:438)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:405)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:372)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
2016-02-02 14:18:23.813:WARN:oejw.WebAppContext:main: Failed startup of
context o.e.j.w.WebAppContext@63753b6d
{/ALBUM,file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/webapps/ALBUM/,STARTING}{/ALBUM}
MultiException[javax.servlet.UnavailableException:
org.eclipse.jetty.servlets.PushCacheFilter,
javax.servlet.UnavailableException:
org.eclipse.jetty.servlets.PushCacheFilter]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:846)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:438)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:405)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:372)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
Suppressed:
|javax.servlet.UnavailableException:
org.eclipse.jetty.servlets.PushCacheFilter
| at org.eclipse.jetty.servlet.BaseHolder.doStart(BaseHolder.java:102)
| at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
| at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
| at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379)
| at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341)
| at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
| at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259)
| at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
| at
org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
| at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
| at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
| at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
| at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:438)
| at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
| at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
| at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
| at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
| at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
| at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
| at org.eclipse.jetty.server.Server.start(Server.java:405)
| at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
| at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
| at org.eclipse.jetty.server.Server.doStart(Server.java:372)
| at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
| at
org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
Caused by:
javax.servlet.UnavailableException:
org.eclipse.jetty.servlets.PushCacheFilter
at org.eclipse.jetty.servlet.BaseHolder.doStart(BaseHolder.java:102)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:855)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:438)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:405)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:372)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
2016-02-02 14:18:23.889:INFO:oejs.ServerConnector:main: Started
ServerConnector@24273305{HTTP/1.1,[http/1.1, h2c, h2c-17, h2c-16, h2c-15,
h2c-14]}{0.0.0.0:9090}
2016-02-02 14:18:23.921:INFO:oejus.SslContextFactory:main: x509=X509@f2f2cc1
(jetty,h=[jetty.eclipse.org],w=[]) for SslContextFactory@6295d394
(file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/etc/keystore,file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/etc/keystore)
2016-02-02 14:18:23.922:INFO:oejus.SslContextFactory:main:
x509=X509@3a079870(mykey,h=[],w=[]) for SslContextFactory@6295d394
(file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/etc/keystore,file:///home/user_name/Jetty_server/jetty-distribution-9.3.6.v20151106/etc/keystore)
2016-02-02 14:18:24.137:INFO:oejs.ServerConnector:main: Started
ServerConnector@5fe5c6f{SSL,[ssl, alpn, h2, h2-17, h2-16, h2-15, h2-14,
http/1.1]}{0.0.0.0:8443}
2016-02-02 14:18:24.138:INFO:oejs.Server:main: Started @3060ms
```

Regarding Custom push with Jetty, I come across a few examples which are
using Jetty 9.3.x PushBuilder Class to do custom push. They all happen to
be using embedded Jetty and Servlets. I am inexperienced with Servlets but
open to learning them if it moves me in the direction of my goal. However,
I would like to stick with standalone Jetty instead of embedded jetty.

http://unrestful.io/2015/09/23/push.html
https://blog.iadvise.eu/2015/01/12/http2-server-push/
https://github.com/grro/http2/blob/master/src/test/java/eu/redzoo/article/javaworld/http2/Http2PushTest.java


On Tue, Feb 2, 2016 at 1:12 PM, Joakim Erdfelt <[email protected]> wrote:

>
>
> Joakim Erdfelt / [email protected]
>
> On Tue, Feb 2, 2016 at 3:19 AM, Conundrum <[email protected]> wrote:
>
>> Hello
>>
>> I am trying to test the server push feature on a static website with
>> standalone Jetty.
>>
>> My website consists of an index.html  + 1 CSS + a bunch of images. The
>> directory structure is:
>>
>> /Album
>>        |
>>        |-----index.html
>>        |-----style.css
>>        |------/images
>>                  |
>>                  |-----  image 1
>>                  |---a set of about 100 images
>>                  |---image100.png
>>
>>
>> As I just wanted to quickly test out the server push feature I did not
>> code this website as a Java Web project and, therefore, didn't have any
>> web.xml file.
>>
>> However, the Jetty documentation asks to add PushCacheFilter to web.xml.
>> Therefore, I created a /Album/WEB-INF/web.xml in my project and added the
>> PushCacheFilter as the documentation specified.
>>
>
> This is the correct way to handle it.
>
>
>>
>> First, I am unable to understand from the documentation how exactly
>> PushCacheFilter works.
>> Secondly, I want to control which files get pushed and which do not. From
>> the documentation, it seems PushCacheFilter doesn't give me that kind of
>> control.
>>
>
>
> https://www.eclipse.org/jetty/documentation/current/http2-configuring-push.html
>
> It's documented there, look at the mention of Referer.
>
> The support for custom Push is only in jetty master branch (unstable Jetty
> 9.4.0) atm, which is based on an early draft of the Servlet 4.0 PushBuilder
> interface.
> Added in commit
> https://github.com/eclipse/jetty.project/commit/5093aa3d405dc3b048d6f65b4d42315670e4195c
>
> - Joakim
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to