This page is a summary of the web filters configured in AppFuse including the description and purpose of each. The content was taken from this thread from the AppFuse user mail list and formatted for the wiki site.
| Filter | Description | Use in AppFuse |
|---|---|---|
| cacheFilter | Can be used to cache requests by mapping it to particular URLs. OSCache also has JSP tags that you can use to cache specific portions of your page. | This is not used--its filter-mapping is commented out. |
| clickstreamFilter | Captures where the user clicked and can be used for statistics. We've thought about replacing it with MessAdmin - since MessAdmin seems to be a more active project and provides the same functionality and more. |
Admin users can see the path taken by users |
| encodingFilter | Allows foreign characters and i18n support work much better. See this filter's javadocs for more information. | For i18n support |
| gzipFilter | This compresses the response to the user by up to 70%. This is particularly useful for compressing JavaScript and CSS. Onjava has a good article to read to understand the usefulness of GzipFilter. |
To compress responses. Sometimes it is helpful to turn this filter off when testing unexpected responses. |
| lazyLoadingFilter | Used for Hibernate lazy-loading. If you initialize all your lazy collections in your DAO layer or middle-tier, you won't need this filter. | Disabled in SVN and 2.0-M5 release since we don't need it in the core and it prevents us from easily switching DAO Frameworks. |
| localeFilter | Allows i18n switching by passing in a "locale" parameter. It also sets the user's locale on a ThreadLocal so you can read it in any layer of the application. | Used in AppFuse for generating i18n messages. |
| rewriteFilter | Similar to Apache's mod_rewrite and allows you to beautify URLs and all kinds of other things. | It's not used by most frameworks (except Struts 2), but it's available for use. |
| securityFilter | Delegates to Acegi Security and prevents users from accessing certain URLs. | security.xml defines which roles are allowed to access which URL's |
| sitemesh | Allows modular composition and decoration of pages with your app | AppFuse uses this to provide support for themes and common decoration elements (headers, footers, menus, etc) |
| struts-cleanup | According to the Struts 2 Javadocs this is required if you're using SiteMesh with Struts 2 | Which we are |
| struts | The front servlet that dispatches all action requests for Struts 2 | Mapped to /* so it can do things like add CSS and JavaScript to the <head> (if you have an <s:head> tag there. The extension that's used is configured in struts.xml. |