RequestEncodingFilter.java
01 package com.bea.medrec.filters;
02 
03 import java.io.IOException;
04 import javax.servlet.Filter;
05 import javax.servlet.FilterChain;
06 import javax.servlet.FilterConfig;
07 import javax.servlet.ServletException;
08 import javax.servlet.ServletRequest;
09 import javax.servlet.ServletResponse;
10 
11 /**
12  <p>Filter to handle request's character encoding.</p>
13  *
14  @author Copyright (c) 2006 by BEA Systems All Rights Reserved.
15  */
16 public class RequestEncodingFilter implements Filter{
17 
18   private String encoding;
19 
20   public void init(FilterConfig configthrows ServletException {
21    encoding = "UTF-8";
22    String enc = config.getInitParameter("encoding");
23    if(enc !=null && enc.length() 0){
24      encoding = enc;
25    }
26   }
27 
28   public void destroy() {}
29 
30  /**
31   <p>Dispatching specified request changing its parameter's character
32   * encoding. MedRec applications generate pages in utf-8. Then request 
33   * parameter of normal PC browser is in utf-8. That's why this filter
34   * handles it in utf-8. If some user agent works on different encoding,
35   * character encoding can be specified in web.xml, filter element.
36   </p>
37   */
38   public void doFilter(ServletRequest request,
39                        ServletResponse response,
40                        FilterChain chain)
41   throws IOException, ServletException {
42 
43     request.setCharacterEncoding(encoding);
44     chain.doFilter(request, response);
45   }
46 }