Package sk.iway.iwcm

Class SetCharacterEncodingFilter

java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
sk.iway.iwcm.SetCharacterEncodingFilter
All Implemented Interfaces:
javax.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.web.context.ServletContextAware

public class SetCharacterEncodingFilter extends org.springframework.web.filter.OncePerRequestFilter
Example filter that unconditionally sets the character encoding to be used in parsing the incoming request to a value specified by the encoding filter initialization parameter in the web app deployment descriptor (/WEB-INF/web.xml). This filter could easily be extended to be more intelligent about what character encoding to set, based on characteristics of the incoming request (such as the values of the Accept-Language and User-Agent headers, or a value stashed in the current user's session).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static String
    The default character encoding to set for requests that pass through this filter.
    static final String
     

    Fields inherited from class org.springframework.web.filter.OncePerRequestFilter

    ALREADY_FILTERED_SUFFIX

    Fields inherited from class org.springframework.web.filter.GenericFilterBean

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Take this filter out of service.
    void
    doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain)
    Select and set (if specified) the character encoding to be used to interpret request parameters for this request.
     
    static String
     
    static javax.persistence.EntityManager
    Vrati EntityManager pre defaultny nazov DB spojenia ("iwcm")
    static javax.persistence.EntityManager
    Vrati EntityManager pre zadany nazov DB spojenia (v povodnom JPA to je persistenceUnit)
    void
    Place this filter into service.
    static void
    printDbErrorMessage(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse res)
     
    static void
    registerDataContext(javax.servlet.http.HttpServletRequest request)
     
    static void
    registerDataContext(javax.servlet.ServletRequest req)
    Zaregistruje aktualny request ako RequestBean, je to public kvoli tomu, ze po prechode do 404 stranky sa filter ukonci a context removne Vzdy je nasledne potrebne volat unregisterDataContext pre vycistenie hash tabulky!!
    static String
    selectEncoding(javax.servlet.ServletRequest request)
    Select an appropriate character encoding to be used, based on the characteristics of the current request and/or filter initialization parameters.
    static void
    setCommonHeaders(javax.servlet.http.HttpServletResponse res, javax.servlet.http.HttpServletRequest req)
    Nastavi secutiry hlavicky na response
    static void
    Odregistrovanie RequestBeanu, musi sa volat ak zavolate register (napr.

    Methods inherited from class org.springframework.web.filter.OncePerRequestFilter

    doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch

    Methods inherited from class org.springframework.web.filter.GenericFilterBean

    addRequiredProperty, afterPropertiesSet, createEnvironment, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, setBeanName, setEnvironment, setServletContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • encoding

      protected static String encoding
      The default character encoding to set for requests that pass through this filter.
    • PDF_PRINT_PARAM

      public static final String PDF_PRINT_PARAM
      See Also:
  • Constructor Details

    • SetCharacterEncodingFilter

      public SetCharacterEncodingFilter()
  • Method Details

    • destroy

      public void destroy()
      Take this filter out of service.
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Specified by:
      destroy in interface javax.servlet.Filter
      Overrides:
      destroy in class org.springframework.web.filter.GenericFilterBean
    • registerDataContext

      public static void registerDataContext(javax.servlet.ServletRequest req)
      Zaregistruje aktualny request ako RequestBean, je to public kvoli tomu, ze po prechode do 404 stranky sa filter ukonci a context removne Vzdy je nasledne potrebne volat unregisterDataContext pre vycistenie hash tabulky!!
      Parameters:
      req -
    • registerDataContext

      public static void registerDataContext(javax.servlet.http.HttpServletRequest request)
    • unRegisterDataContext

      public static void unRegisterDataContext()
      Odregistrovanie RequestBeanu, musi sa volat ak zavolate register (napr. v 404 stranke)
    • printDbErrorMessage

      public static void printDbErrorMessage(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse res) throws IOException
      Throws:
      IOException
    • doFilterInternal

      public void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
      Select and set (if specified) the character encoding to be used to interpret request parameters for this request.
      Specified by:
      doFilterInternal in class org.springframework.web.filter.OncePerRequestFilter
      Parameters:
      request - The servlet request we are processing
      chain - The filter chain we are processing
      response - Description of the Parameter
      Throws:
      IOException - if an input/output error occurs
      javax.servlet.ServletException - if a servlet error occurs
    • setCommonHeaders

      public static void setCommonHeaders(javax.servlet.http.HttpServletResponse res, javax.servlet.http.HttpServletRequest req)
      Nastavi secutiry hlavicky na response
      Parameters:
      res -
      req -
    • initFilterBean

      public void initFilterBean() throws javax.servlet.ServletException
      Place this filter into service.
      Overrides:
      initFilterBean in class org.springframework.web.filter.GenericFilterBean
      Throws:
      javax.servlet.ServletException - Description of the Exception
    • selectEncoding

      public static String selectEncoding(javax.servlet.ServletRequest request)
      Select an appropriate character encoding to be used, based on the characteristics of the current request and/or filter initialization parameters. If no character encoding should be set, return null .

      The default implementation unconditionally returns the value configured by the encoding initialization parameter for this filter.

      Parameters:
      request - The servlet request we are processing
      Returns:
      Description of the Return Value
    • getEncoding

      public static String getEncoding()
    • getCurrentRequestBean

      public static RequestBean getCurrentRequestBean()
    • getEntityManager

      public static javax.persistence.EntityManager getEntityManager(String dbName)
      Vrati EntityManager pre zadany nazov DB spojenia (v povodnom JPA to je persistenceUnit)
      Parameters:
      dbName - - nazov DB spojenia
      Returns:
      EntityManager alebo null, ak pre DB spojenie neexistuje EntityManagerFactory
    • getEntityManager

      public static javax.persistence.EntityManager getEntityManager()
      Vrati EntityManager pre defaultny nazov DB spojenia ("iwcm")
      Returns:
      an @EntityManager