Inter-Web-Application Communication

From Documentation
Inter-Web-Application Communication

Stop.png This documentation is for an older version of ZK. For the latest documentation please click here.

An EAR file could have multiple WAR files. Each of them is a Web application. There are no standard way to communicate between two Web applications.

However, ZK supports a way to reference the resource from another Web applications. For example, assume you want to include a resource, say /foreign.zul, from another Web application, say app2. Then, you could do as follows.

<include src="~app2/foreign.zul"/>

Similarly, you could reference resources from another Web application.

<style src="~app2/foo.css"/> <!-- assume foo.css is in the context called app2 --> 
<image src="~/foo.png"/> <!-- assume foo.png is in the root context -->

Note: Whether you can access a resource located in another Web application depends on the configuration of the Web server. For example, you have to specify crossContext="true" in conf/context.xml, if you are using Tomcat.

Web Resources from Classpath

With ZK, you could reference a resource that is locatable by the classpath. The advantage is that you could embed Web resources in a JAR file, which simplifies the deployment.

<image src="~./my/jar.gif"/>

Then, it tries to locate the resource, /my/jar.gif, at the /web directory by searching resources from the classpath.

There are three ways to place file in classpath.

Under java src folder

Create web folder under src folder. ~. will search src/web. For example src/web/my/jar.gif can be found by <image src="~./my/jar.gif"/>.

Under WebContent folder

Create classes/web under WebContent/WEB-INF folder. For example WebContent/WEB-INF/classes/web/my/jar.gif can be found by <image src="~./my/jar.gif"/>.

Jar the file

You may jar the resource and place it under WebContent/WEB-INF/lib folder. For <image src="~./my/jar.gif"/>, the file should be under web/my/jar.gif inside the jar file.

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.