Tomcat动态加载JSP的Class类
在项目中修改JSP文件时,tomcat不需要重启。
具体实现时:当tomcat监听到jsp文件发生变化时,新定义一个类加载器。重新加载此类。
一下介绍其简单实现:
定义服务类
public class Servlet {
public void service(){
System.out.println("运行服务方法");
}
}
定义服务线程
public class ServiceThread extends Thread{
public void run(){
try {
ClassLoader classLoader = this.getContextClassLoader();
Class clazz = classLoader.loadClass("Servlet");
Method service = clazz.getMethod("service", null);
service.invoke(clazz.newInstance(), null);
} catch (Exception e) {
e.printStackTrace();
}
}
}
自定义ClassLoader
public class MyClassLoader extends ClassLoader{
@Override
public Class loadClass(String name, boolean