装饰者模式对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的编码问题。。

转载于:https://www.cnblogs.com/JamKong/p/4897443.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值