Over a million developers have joined DZone.

Enhancing your GWT Application with the UrlRewriteFilter

DZone's Guide to

Enhancing your GWT Application with the UrlRewriteFilter

· Java Zone
Free Resource

Try Okta to add social login, MFA, and OpenID Connect support to your Java app in minutes. Create a free developer account today and never build auth again.

Last week, I spent some time trying to change the location of my cache/nocache HTML files in my GWT project. I started the project with the gwt-maven-plugin's archetype. The message I posted to the gwt-maven Google Group is below.

Rather than having my application's HTML file in src/main/java/com/mycompany/Application.html, I'd like to move it to src/main/webapp/index.html. I tried copying the HTML and adding the following to my index.html, but no dice:

<meta name="gwt:module" content="com.mycompany.Application"/>

Is this possible with the gwt-maven-plugin? I'd like to have my main HTML and CSS at the root of my application.

The good news is I figured out a solution using the UrlRewriteFilter that 1) allows hosted mode to work as usual and 2) allows your app to be served up from the root URL (/ instead of /com.company.Module/Application.html). Here's the urlrewrite.xml that makes it all possible.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"

<to type="forward" last="true">/com.mycompany.app.Application/Application.html</to>
<to type="forward" last="true">/com.mycompany.app.Application/Application.html</to>
<-- This last rule is necessary for JS and CSS files -->
<to type="forward">/com.mycompany.app.Application/$1.$2</to>

If you're using the gwt-maven plugin, this file goes in src/main/webapp/WEB-INF. In addition, you'll need to add the following to your web.xml.



Finally, add the UrlRewriteFilter dependency in your pom.xml:


Please let me know if you have any questions.

From http://raibledesigns.com/rd/entry/enhancing_your_gwt_application_with 

Build and launch faster with Okta’s user management API. Register today for the free forever developer edition!


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}