zoukankan      html  css  js  c++  java
  • 装饰者模式对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的编码问题。。

  • 相关阅读:
    配置并学习微信JS-SDK(1)
    在 Sublime Text 3 中运行 PHP
    apache-配置虚拟主机
    mysql-积累管理sql语句
    博客园-推荐发博客工具的安装配置
    注释多行文本
    nargin
    Sublime Text
    The MATLAB Profiler
    Fig723.asy
  • 原文地址:https://www.cnblogs.com/JamKong/p/4897443.html
Copyright © 2011-2022 走看看