com.softslate.commerce.customer.core
Class SEOFilter
java.lang.Object
com.softslate.commerce.customer.core.SEOFilter
- All Implemented Interfaces:
- javax.servlet.Filter
- public final class SEOFilter
- extends java.lang.Object
- implements javax.servlet.Filter
Filter to translate incoming URLs from a search-engine friendly format to the
format understood by the application. Various settings in the application
tell the system how to do the translating. For example, if the
seoProductMarker
settings is set to "product", it tells us to
look for the pattern "/product/<product-code>" in the search-engine
friendly URL, which would be translated to
"/Product.do?code=<product-code>";
If the incoming URL is determined to be in a search-engine friendly format
and the translation is successful, the request is forwarded to the translated
URL. Otherwise, it is passed through to the next filter (if any).
URL paths ending in ".do", as well as common image, stylesheet, and
javascript file extensions, are immediately passed through to the next
filter.
- Author:
- David Tobey
Method Summary |
void |
destroy()
|
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
|
java.lang.String |
extractPageOrCode(java.lang.String servletPath,
java.lang.String marker,
java.lang.String suffix)
Extracts the page identifier or the product or category code from a given
search-engine friendly URL. |
void |
init(javax.servlet.FilterConfig filterConfig)
|
java.lang.String |
translateSEOURL(SettingsBean settingsBean,
java.lang.String servletPath)
Translates a given URL path from a search-engine friendly format to a
format recognized by the application. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
static org.apache.commons.logging.Log log
welcomePath
public static final java.lang.String welcomePath
- See Also:
- Constant Field Values
productPath
public static final java.lang.String productPath
- See Also:
- Constant Field Values
categoryPath
public static final java.lang.String categoryPath
- See Also:
- Constant Field Values
pageEndPath
public static final java.lang.String pageEndPath
- See Also:
- Constant Field Values
filterConfig
private javax.servlet.FilterConfig filterConfig
SEOFilter
public SEOFilter()
init
public void init(javax.servlet.FilterConfig filterConfig)
throws javax.servlet.ServletException
- Specified by:
init
in interface javax.servlet.Filter
- Throws:
javax.servlet.ServletException
destroy
public void destroy()
- Specified by:
destroy
in interface javax.servlet.Filter
doFilter
public void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
- Specified by:
doFilter
in interface javax.servlet.Filter
- Throws:
java.io.IOException
javax.servlet.ServletException
translateSEOURL
public java.lang.String translateSEOURL(SettingsBean settingsBean,
java.lang.String servletPath)
- Translates a given URL path from a search-engine friendly format to a
format recognized by the application. Uses the given settings to
determine how to translate. Translations are done for the Welcome screen,
Page screens, Product Screen, and Category Screen.
- Parameters:
settingsBean
- A Bean holding the settings that determine how to translate.servletPath
- The incoming URL path (from after the context path until the
query string)
- Returns:
- The translated URL.
extractPageOrCode
public java.lang.String extractPageOrCode(java.lang.String servletPath,
java.lang.String marker,
java.lang.String suffix)
- Extracts the page identifier or the product or category code from a given
search-engine friendly URL.
- Parameters:
servletPath
- The URL to be parsed.marker
- The marker identifying where to start looking for the page or
code.suffix
- The suffix identifying where to stop looking for the page or
code.
- Returns:
- A string representing the page or code.
Copyright © SoftSlate, Inc. 20032005