裝飾者模式對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的編碼問題。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章