Loading

装饰者模式对HttpServletRequest进行增强

 1 package cn.web.servlet;
 2 
 3 import java.io.UnsupportedEncodingException;
 4 
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletRequestWrapper;
 7 /**
 8  * 装饰者模式对HttpServletRequest进行增强。
 9  * 两种方法:
10  *         1. implements HttpServletRequest(所有的方法都要自己来重写,所以,建议使用第二种方法,也就是通过继承HttpServletRequestWrapper,再对自己的需要进行重写相应的方法)
11  *         2. extends HttpServletRequestWrapper(已经用装饰者模式帮我们重写所有的方法,我们只需要重写自己需要重写的方法就可以了,而免去了对其它方法的进行重写的麻烦)
12  * @author Administrator
13  *
14  */
15 public class EncodingRequest extends HttpServletRequestWrapper {
16     private HttpServletRequest req ;
17     public EncodingRequest(HttpServletRequest request) {
18         super(request);
19         this.req = request;
20     }
21     /**
22      * 增强getParameter()方法,使其能够自行处理get的编码问题
23      */
24     @Override
25     public String getParameter(String name) {
26         String value = req.getParameter(name);
27         try {
28             value = new String(value.getBytes("ISO-8859-1"),"UTF-8");//处理get方式
29         } catch (UnsupportedEncodingException e) {
30             e.printStackTrace();
31         }
32         return value;
33     }
34 }

主要增强了request的编码问题。。

posted @ 2015-10-21 12:38  JamKong  阅读(464)  评论(0编辑  收藏  举报