当前位置:  技术问答>java相关

如何判断一个函数是否存在?

    来源: 互联网  发布时间:2015-04-18

    本文导语:  是这样的。我用到一个函数是Servlet 2.3新增加的,2.2没有,我想编一个bean,使得如果存在着个函数,就用该函数,反之采取我自己的一个替代的处理过程。 可是俺是java新手,不知道怎样判断某个函数是否存在? 比...

是这样的。我用到一个函数是Servlet 2.3新增加的,2.2没有,我想编一个bean,使得如果存在着个函数,就用该函数,反之采取我自己的一个替代的处理过程。

可是俺是java新手,不知道怎样判断某个函数是否存在?

比如 request.setContentEncoding()

|
import java.io.*;
import java.util.*;
import java.lang.reflect.*;

public class MakeTodayClass {
  Date today = new Date();
  String todayMillis = Long.toString(today.getTime());
  String todayClass = "z_" + todayMillis;
  String todaySource = todayClass + ".java";
  
  public static void main (String args[]){
    MakeTodayClass mtc = new MakeTodayClass();
    mtc.createIt();
    if (mtc.compileIt()) {
      System.out.println("Running " + mtc.todayClass + ":nn");
      mtc.runIt();
      }
    else
      System.out.println(mtc.todaySource + " is bad.");
    }

  public void createIt() {
    try {
      FileWriter aWriter = new FileWriter(todaySource, true);
      //aWriter.write("package com;");
      aWriter.write("public class "+ todayClass + "{");
      aWriter.write(" public void doit() {");
      aWriter.write(" System.out.println(""+todayMillis+"");");
      aWriter.write(" }}n");
      aWriter.flush();      
      aWriter.close();
      }
    catch(Exception e){
      e.printStackTrace();
      }
    }
  
  public boolean compileIt() {
    String [] source = {"-d","d:/",new String(todaySource) };
    ByteArrayOutputStream baos= new ByteArrayOutputStream();

    //new sun.tools.javac.Main(baos,source[0]).compile(source);    
    // if using JDK >= 1.3 then use
    System.out.println(com.sun.tools.javac.Main.compile(source));    
    System.out.println("================"+new String(baos.toByteArray()));
    return (baos.toString().indexOf("error")==-1);
    }
    
  public void runIt() {
    try {
      Class params[] = {};
      Object paramsObj[] = {};
      Class thisClass = Class.forName(todayClass);
      Object iClass = thisClass.newInstance();
      Method thisMethod = thisClass.getDeclaredMethod("doit", params);
      thisMethod.invoke(iClass, paramsObj);
      }
    catch (Exception e) {
      e.printStackTrace();
      }
    }
}

|
1, 可以通过 Reflection 机制来做. (推荐)
2, 可以通过比如比较 servlet 的版本号来做, 这样不好.

    
 
 

您可能感兴趣的文章:

  • java 的条件判断函数(类似于别的语言iif函数)
  • 判断文件格式的c库函数
  • 请教:在程序中创建文件夹,应该用什么函数?怎么判断文件夹存不存在呢?
  • 求判断某ip是否联通的函数或类linux c/c++
  • jquery浏览器判断函数代码
  • 如何用函数判断某个守护进程处入运行中
  • 有判断一个int是否是素数的函数吗?
  • js判断是否含有GBK以外的字符的函数
  • java里有判断一个点是否在一个多边形的里面的函数吗?
  • 用正则表达式判断字符串是汉字还是拼音的js函数代码
  • 请问有函数可以判断我的结构体具体是什么类型的吗?
  • 在JSP如何判断str1是否在str2中?是否有相应的函数?
  • PHP多重判断删除文件函数代码
  • T-SQL判断一个日期是否为今天的函数
  • linux中的串口通信判断一帧数据是否传输完整时,用定时器检查前后两帧数据的间隔时间,该用什么定时函数,有详细代码最好,谢谢!
  • sql 判断函数、存储过程是否存在的代码整理
  • 利用MySQL函数实现判断视频扩展名的代码
  • php根据日期判断星座的函数代码
  • JavaScript基于正则表达式的数字判断函数
  • 如何在在一个程序中判断另一个程序是否已运行?是哪个命令或函数?
  • unix下如何判断一个文件夹是否存在?(也就是某个路径是否存在)
  • shell如何判断文件是否存在,如何判断变量是否为空
  • 请问soralis下怎么写脚本判断进程是否存在,不存在则启动?
  • Oracle删除表前判断表名是否存在若存在则删除
  • JQuery 判断某个属性是否存在hasAttr用法
  • java判断远程服务器上的文件是否存在的方法
  • 如果判断目录下一个文件已经存在与否?
  • 请问如何判断一个文件夹是否存在
  • 请问用什么方法能判断一个文件是否存在,谢谢!
  • jquery怎么判断html元素是否存在
  • mysql 判断记录是否存在方法比较
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Vectors 成员 empty():判断Vector是否为空(返回true时为空)
  • linux->shell-> if 条件判断,关于软连接的判断!
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 在判断自符是否等于**时,用equals(“**”),那么如果我想判断它的值是否>=2该用什么呢?
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 我是学pb的,判断闰年的是isdate("2-28"),但在java里怎么判断呢?
  • linux 下的自解压文件是什么格式,如何判断文件是否为自解压c++或者脚本判断均可
  • mysql中如何判断当前是字符 mysql判断字段中有无汉字
  • 知道TCP/UDP的包头,如何判断其应用层协议类型,struct tcphdr和 struct udphdr结构中那个变量能判断应用层协议类型。
  • c#判断字符是否为中文的三种方法分享(正则表达式判断)
  • 如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?
  • 如何判断一个数是否为4的幂次方?若是,并判断出来是多少次方?
  • 判断图片-判断位图是否是黑白图片的方法
  • sftp命令如何判断成功与否?
  • Shell条件判断疑问?
  • 如何判断套接字是被关闭了。
  • 如何判断一个数是否为2的幂次方?若是,并判断出来是多少次方?
  • PHP判断是否有Get参数的方法
  • 请问如何判断 request.getparameter 是否有值


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3