国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

在JavaScript程序中整合Java函數(shù)(下)

2019-11-18 12:12:32
字體:
供稿:網(wǎng)友

  PRivate String prepareString(String s)
  {
  if(s == null)
  return null;
  if(s.length() < 2)
  return s;
  if(s.charAt(0) == '"' && s.charAt(s.length() - 1) == '"') file://假如字符串s以"開頭,又以"結(jié)尾,則把兩頭的"去掉
  return s.substring(1, s.length() - 1);
  if(s.startsWith("'") && s.endsWith("'"))//假如字符串s以'開頭,又以'結(jié)尾,則把兩頭的"去掉
  return s.substring(1, s.length() - 1);
  else
  return s;
  }
  
  private boolean processLine1(String s, String s1, String s2, String s3)
  { file://創(chuàng)建一個Object類的實(shí)例
  Object obj[] = {
  null, null
  };
  Class class1;
  if((class1 = (Class)cls.get(s1)) == null)
  try
  {
  class1 = Class.forName(s1);//返回具有s1指定的類名的類的Class描述符
  cls.put(s1, class1); file://放回哈西表
  }
  catch(Exception _ex)
  {
  System.out.println("不能裝載類 " + s1);
  return false;
  }
  obj[0] = class1;
  if(s2.length() == 0)
  {
  try
  {
  obj[1] = class1.newInstance();// 創(chuàng)建類的新實(shí)例
  }
  catch(NoSUChMethodError _ex)
  {
  System.out.println("不能創(chuàng)建對象的實(shí)例 " + s3);
  return false;
  }
  catch(Exception _ex)
  {
  System.out.println("不能創(chuàng)建對象的實(shí)例 " + s3);
  return false;
  }
  inst.put(s, ((Object) (obj)));
  }
  else
  {
  Object obj1[] = getParamArray(s2, 0); file://取得參數(shù)列表
  if(obj1 == null)
  {
  System.out.println("不能處理這行參數(shù): " + s3);
  return false;
  }
  try
  {
  Constructor cons = class1.getConstructor((Class[])obj1[0]);//使用參數(shù)列表構(gòu)建類構(gòu)建器
  if(class1 == null)
  {
  System.out.println("不能創(chuàng)建對象的實(shí)例 " + s3);
  return false;
  }
  obj[1] = cons.newInstance((Object[])obj1[1]);
  inst.put(s, ((Object) (obj)));
  }
  catch(Exception _ex)
  {
  System.out.println("不能創(chuàng)建對象的實(shí)例 " + s3);
  return false;
  }
  }
  return true;
  }
  
  
  
  
  private Object[] getParamArray(String s, int i) file://取得s中所包含的參數(shù)列表,存入一個Object數(shù)組中
  {
  String s1 = s.trim(); file://去除末尾的空格
  String s6 = ",";
  Vector vector = new Vector();
  if(s1.length() > 0)
  {
  if(s1.charAt(0) == '(')//去掉(
  s1 = s1.substring(1);
  if(s1.endsWith(")"))//去掉)
  s1 = s1.substring(0, s1.length() - 1);
  String s2 = s1.trim(); file://去掉字符串后的空格
  if(s2.length() == 0 && i == 0) file://假如s2長度為零,說明沒有參數(shù)
  return null;
  String s4;
  if(s2.length() > 0)
  {
  if(s2.charAt(0) == '"')//假如s2以"開頭,則用/"代替
  s6 = "/"";
  else
  if(s2.charAt(0) == '/'')//假如s2以/'開頭,則用'代替
  s6 = "'";
  else
  s6 = ",";
  s4 = s2.substring(0, 1); file://取得s2的第一個字符
  s2 = s2.substring(1);//取得s2的第二個字符往后的字符
  }
  else
  {
  s4 = "";
  }
  for(; s2.length() > 0; s2 = s2.substring(1))//這些語句是為了把參數(shù)表中的參數(shù)分離出來
  {
  String s5 = s2.substring(0, 1);//取得s2的第一個字符
  if(s5.equals(s6)) file://假如s5和s6相等,即判定s5是否為兩個參數(shù)的分隔符
  {
  if(s6.equals("/"") s6.equals("'"))//假如s6為/"或',則
  s4 = s4 + s6;
  vector.addElement(s4); file://把s4(即一個參數(shù)值)加入vector中
  s2 = s2.substring(1).trim();
  s4 = "";
  if(s2.length() == 0)
  break;
  s4 = s2.substring(0, 1);
  if(s4.charAt(0) == ',')
  file://假如s4以","開頭,則判定s4是否以分隔符開頭
  {
  s2 = s2.substring(1).trim();
  s4 = "";
  if(s2.length() == 0)
  break;
  s4 = s2.substring(0, 1);
  }
  if(s4.charAt(0) == '"')
  s6 = "/"";
  else
  if(s4.charAt(0) == '/'')
  s6 = "'";
  else
  s6 = ",";
  }
  else
  {
  s4 = s4 + s5;
  }
  }
  
  if(s4.length() > 0)
  vector.addElement(s4);
  }
  int j = vector.size(); file://取得向量變量vector的大小,vector中保存的都是參數(shù)值
  if(j == 0 && i == 0)
  return null; file://沒有參數(shù)
  Object aobj[] = new Object[3];
  Class class1[] = new Class[j + i];
  Object aobj1[] = new Object[j + i];
  aobj[0] = class1;
  aobj[1] = ((Object) (aobj1));
  aobj[2] = new Integer(j + i);
  for(int k = i; k < j + i; k++)
  {
  String s3 = (String)vector.elementAt(k - i);
  try
  file://以下的代碼是為了判定,每個參數(shù)到底是什么數(shù)據(jù)類型
  { file://判定是否為整型
  Integer integer = Integer.valueOf(s3);
  class1[k] = Integer.TYPE;
  aobj1[k] = integer;
  }
  catch(Exception _ex)
  {
  try
  { file://判定是否為浮點(diǎn)型
  Float float1 = Float.valueOf(s3);
  class1[k] = Float.TYPE;
  aobj1[k] = float1;
  }
  catch(Exception _ex2)
  { file://判定是否為布爾類型
  s3 = prepareString(s3);
  if(s3.equals("true")) file://判定是否為真
  {
  class1[k] = Boolean.TYPE;
  aobj1[k] = new Boolean(true);
  }
  else
  if(s3.equals("false")) file://判定是否為假
  {
  class1[k] = Boolean.TYPE;
  aobj1[k] = new Boolean(false);
  }
  else
  {
  class1[k] = class$java$lang$String == null ? (class$java$lang$String = class$("java.lang.String")) : class$java$lang$String;
  aobj1[k] = s3;
  }
  }
  }
  }
  vector = null;
  return aobj;
  }
  public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
  throws ServletException, IOException
  {
  doGet(httpservletrequest, httpservletresponse);
  }
  
  public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
  throws ServletException, IOException
  {
  String s = "";
  String s1 = "";
  s = HttpUtils.getRequestURL(httpservletrequest).toString();
  file://返回一個字符串,包含請求字符串中包含的協(xié)議名,主機(jī)名,端口號以及路徑,但是不包含請求的內(nèi)容
  int i;
  if((i = s.indexOf("?")) > 0)//去掉s結(jié)尾的問號
  s = s.substring(0, i);
  s1 = httpservletrequest.getQueryString();//取的請求字符串的請求內(nèi)容
  if(s1 == null)
  {
  parseFile(s1, httpservletrequest, httpservletresponse);
  return;
  }
  if(s1.equals(admin)) file://假如請求串等于admin
  {
  adminPage(httpservletrequest, httpservletresponse, s); file://進(jìn)入治理員界面
  return;
  }
  if(s1.equals("namiotde")) file://假如請求串為namiotde,則執(zhí)行相應(yīng)的執(zhí)行命令
  {
  executeRequest(httpservletrequest, httpservletresponse);
  return;
  }
  String s2 = getFromQuery(s1, "what="); file://取的動作的屬性值
  if(s2.equals("hframe"))
  {
  getHiddenFrame(httpservletrequest, httpservletresponse);//轉(zhuǎn)到隱藏幀
  return;
  }
  if(s2.equals("mframe"))
  {
  getMainFrame(s1, httpservletrequest, httpservletresponse); file://轉(zhuǎn)到主幀
  return;
  }
  else
  {
  parseFile(s1, httpservletrequest, httpservletresponse);
  return;
  }
  }
  file://治理員界面,執(zhí)行添加刪除對象的操作
  private void adminPage(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse, String s)
  throws IOException
  {
  PrintWriter printwriter = httpservletresponse.getWriter();
  String s1 = "";
  String s4 = httpservletrequest.getParameter("what"); file://返回請求串中what,即動作的屬性值
  if(s4 != null)
  if(s4.equals("delete")) file://假如what的值為delete,則執(zhí)行相應(yīng)的操作
  {
  for(Enumeration enumeration = httpservletr

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平定县| 垫江县| 铜陵市| 六盘水市| 宝清县| 扎囊县| 吉隆县| 拉萨市| 安顺市| 四平市| 辉南县| 资阳市| 家居| 黄冈市| 武安市| 黄山市| 临沭县| 麻城市| 兴山县| 田林县| 香港| 重庆市| 赞皇县| 增城市| 登封市| 绥中县| 错那县| 张家界市| 英德市| 杭州市| 贵定县| 鸡西市| 山阳县| 新河县| 鸡东县| 石台县| 海安县| 沈阳市| 哈巴河县| 科尔| 双峰县|