java中的代理
来源:互联网 发布:网络摄像机多少钱 编辑:程序博客网 时间:2024/06/07 02:56
对指定的接口或类的某一个方法进行功能扩展,可以使用代理。
使用示例:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //需求:要对request的getParameter方法进行功能扩展,处理get提交中文编码问题 //对request创建代理对象 HttpServletRequest proxy =(HttpServletRequest)Proxy.newProxyInstance( request.getClass().getClassLoader(),//指定当前使用的类加载器 new Class[] {HttpServletRequest.class},//目标对象实现的接口类型 new InvocationHandler(){ //事件处理器 public Object invoke(Object proxy,Method method,Object[] args)throws Throwable { //定义方法返回值 Object returnValue = null; //获取方法名 String methodName = method.getName(); //判断 扩展方法的方法名 if("getParameter".equals(methodName)) { //方法的参数封装在args中 String value = request.getParameter(args[0].toString());//获取请求的值 //获取提交方式 String submitMethod = request.getMethod(); //如果是get提交,需要对数据进行处理 if("GET".equals(submitMethod)) { value = new String(value.getBytes(),"UTF-8"); } return value; } else { //执行request对象的其他方法 returnValue = method.invoke(request,args); } return returnValue; } } ) chain.doFilter(proxy, response); }
阅读全文
0 0
- Java中的代理模式
- JAVA中的代理技术
- Java中的代理模式
- Java中的代理
- Java中的代理模式
- java中的动态代理
- Java 中的代理模式
- java中的动态代理》》》》》
- 浅谈java中的代理
- JAVA 中的 动态代理
- java中的代理
- java中的动态代理
- java中的代理
- Java中的代理
- java中的动态代理
- Java中的动态代理
- Java中的动态代理
- JAVA中的动态代理
- hdu 4825 Xor Sum(01字典树)
- SQL Server 对比两个数据库的索引
- Oracle迅速取到一个表的所有列的列名的方法
- 解析Android Studio 2.2 Native新特性
- Log日志类的静态成员需类外初始化
- java中的代理
- java反射
- Vim命令
- mt6735[AT Command] Modem 支持哪些AT Command?参数含义在哪查看?
- $.ajax()方法参数详解
- MySql之INSERT INTO…ON DUPLICATE KEY UPDATE详解
- string截取字符串
- PAT
- 对于机器学习,到底该选择哪种编程语言