@RequestMapping("/testJar")
public @ResponseBody String exteriorJar(int ys, int csd,int jg,int sf,int yf,int sd){
String result = "error";
//从数据库中读取算法类
String sql = "select EXTERIOR from T_EXTERIOR where id=2";
InputStream ins = null;
try{
Connection con = jdbcTemplate.getDataSource().getConnection();
Statement ps = con.createStatement();
ResultSet rs = ps.executeQuery(sql);
while(rs.next()){
Blob blob = rs.getBlob("EXTERIOR");
ins = blob.getBinaryStream();
}
File file = new File("test.jar");
OutputStream os = new FileOutputStream(file);
byte[] bt = new byte[1024];
int size = 0;
while((size=ins.read(bt))!=-1){
os.write(bt,0,size);
}
os.flush();
os.close();
ins.close(); URLClassLoader loader = new URLClassLoader(new URL[]{new URL("file:"+file.getAbsolutePath())});
Class cs = loader.loadClass("com.tf.userApp.bean.Exterior");
Object obj = cs.newInstance(); Method[] methods = obj.getClass().getMethods();
for(Method method : methods){
if(method.getName().equals("add")){
Class[] css = method.getParameterTypes();
Object[] params = new Object[css.length];
params[0] = ys;
params[1] = csd;
params[2] = jg;
params[3] = sf;
params[4] = yf;
params[5] = sd;
/**
int index = 0;
for(Class cs : css){
if(String.class == cs){
params[index++] = "String val is :" + index;
}
}*/
Object rt = method.invoke(obj, params);
if(rt.getClass() == Integer.class){
result = String.valueOf((Integer)rt);
}else if(rt.getClass()==String.class){
result = (String)rt;
}
}
}
}catch (Exception e) {
e.printStackTrace();
} return result;
}

java手动加载jar的更多相关文章

  1. java动态加载jar文件

    public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, Invo ...

  2. JAVA动态加载JAR包的实现

    如何动态的加载这些驱动!不可能把所有的数据库驱动都集成到JAR包中吧?!于是动态加载驱动的JAR包就产生了!其实这些在做系统基础代码时,经常用到,只是一般我们没有机会去搞而已. 动态加载JAR包,使用 ...

  3. Java动态加载jar及class文件

    经常碰到需要动态加载jar及class文件的场景.Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,但JDK仍提供了一整套方法来动态加载jar文件和class文件. 一.动态加载ja ...

  4. tomcat/Java指定加载jar包的路径

    背景:部署的web站点,应用默认加载工程的/webapps/工程名/WEB-INF/lib下的jar包   但是我需要提供一个和web工程没关系的的jar包管理目录   解决方法: 执行java方法时 ...

  5. java动态加载jar包,并运行其中的类和方法

    动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行. 下面通过一个实例来直观演示: 第一: ...

  6. JAVA动态加载JAR

    // 生成JAR包D:\TestClass.jar package hand.java.loadjar; public class TestClass { private String sayHell ...

  7. Java动态加载JAR包

    参考代码: package org; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import ...

  8. JAVA动态加载JAR包执行程序

    入口代码 import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.ne ...

  9. 27 Java动态加载第三方jar包中的类

    我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String pr ...

随机推荐

  1. C#流水号生成汇总(四)

    简单高效的ID生成方式 http://www.ikende.com/blog/6014522c24ff4ef89cfb430f9c5a8489 一个简单唯一ID生成规则 http://www.iken ...

  2. JQUERY AJAX无刷新异步上传文件

    AJAX无刷新上传文件并显示 http://blog.csdn.net/gao3705512/article/details/9330637?utm_source=tuicool jQuery For ...

  3. springboot线程池的使用和扩展

    我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 本 ...

  4. Android之开源中国客户端源码分析(一)

    程序启动第一个界面类: net.oschina.app.AppStart功能描述:一张图片代码细节描述:一个透明度的动画效果,效果动画完成后自动启动新的Activity(Main) 基本BaseAct ...

  5. 北京市基本医疗保险A类定点医疗机构名单(2010-09-29)

    1.中国医学科学院北京协和医院 2.首都医科大学附属北京同仁医院 3.首都医科大学宣武医院 4.首都医科大学附属北京友谊医院 5.北京大学第一医院 6.北京大学人民医院 7.北京大学第三医院 8.北京 ...

  6. Android之ViewPager循环Demo

    ViewPager是谷歌官方提供的兼容低版本安卓设备的软件包,里面包含了只有在安卓3.0以上可以使用的api.Viewpager现在也算是标配了,如果一个App没有用到ViewPager感觉还是比较罕 ...

  7. Transformer中引用iqd作为数据源的时候数据预览出现乱码

    在cognos开发利用transform建模的过程中导入iqd数据源预览乱码问题,下面先描述一下环境 操作系统版本: [root@enfo212 ~]# cat /proc/version Linux ...

  8. [Backbone]4. Model & View, toggle between Model and View. -- 1

    如上图所示: Server有Data都交给Models处理, 然后由Models给Views Data,让View去告诉DOM如何显示, 然后DOM显示HTML; View events update ...

  9. 如何为Android上的产品设计一款合适的图标

    如 果你已经完成了你的app,你一定会马上向其它人宣布这件事情.但是你需要注意一个很重要的问题,那就是app的图标.你的图标可能在项目启动之 前就已经设计好了,但我不喜欢这样,如果app没有完成实际上 ...

  10. shell综合

    既可恶又不得不注意的地方: 1.if 与[ 之间必须有空格, 2.[ ]与判断条件之间也必须有空格, 3.]与; 之间不能有空格, 4.变量赋值的时候,等号两边不能有空格, 调试:sh -x xxx. ...