【原创】对request的getParameter方法的增强


普通的getParameter方法中,无论是get或者post提交,都要设置一下请求或者响应的编解码格式(下面以UTF-8为例)

post方法要设置

 request.setCharacterEncoding("UTF-8");

get方法要设置

 String para = requset.getParameter("name")

 String parameter = new String(para.getBytes("iso8859-1"),"UTF-8")


* 需求 :由于每次设置都会很麻烦,所以可以选择增强request的getParameter方法,使请求或响应的编解码格式已经设置完成

* 需求分析 :如果要完成这个功能,可以使用过滤器。首先要写一个filter并集成Filter重写doFilter方法

【原创】对request的getParameter方法的增强_第1张图片

* 扩展知识 :增强方法的方式都有哪些?

             增强方法的方式:

                 1.基于继承(被增强的对象可以手动的去new)

                 2.基于装饰者模式(今天要用的)

                 3.基于动态代理


* 代码实现

创建一个类,用来增强方法,并且继承HttpServletRequestWrapper(java中专门为了加强request的方法写的父类)

【原创】对request的getParameter方法的增强_第2张图片

在创建的filter中

【原创】对request的getParameter方法的增强_第3张图片
最后切记,一定要写到配置文件中(这个就不说了,很简单)

你可能感兴趣的:(【原创】对request的getParameter方法的增强)