代码拉取完成,页面将自动刷新
同步操作将从 code4j/codecat 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#CodeCat
##一句话简介
codecat是一款http 服务器中间件,模仿tomcat的功能,目前实现了热部署
,热卸载
,路由转发
功能。
##快速使用
bin
目录BasicHttpHandler
这个类,并实现 service
方法,该方法的返回值会输出到页面上,并在该类上加注解@Path("/xxx")
,表示该类处理的请求路径。代码如下:@Path("/timer")
public class TimerHandler extends BasicHttpHandler {
@Override
public Object service(Object msg) {
String timestamp = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(new Date());
return "<h1>"+timestamp+"</h1>";
}
}
这里我写了一个获得当前系统时间的类。
index.jar
,此时访问localhost:8080/index/timer,即可看到当前系统时间。##对比tomcat
tomcat的热部署 是无法再被卸载的,因此 codecat 引入了热卸载
的概念,codecat内部使用一个代理,启动的时候默认代理一个server,每当用户向codecat/apps
中放入一个新的jar包后,codecat会读取jar包内相应的类,启动一个新的端口并注册到代理,启动之前把新的类加载到新的server
以jar包的名字作为项目根目录,从而达到一个jar包对应一个realserver端口的效果。用户的直接感受就是访问的端口没有变过。当用户卸载(删除)jar时, codecat 会根据所删除jar包名字,将映射的端口关闭,从而达到用户无法访问该jar包的功能的效果,来达到卸载的目的。
##尚存的缺陷BUG
##备注: ###目录文件监听功能使用了第三方库 JNotify ###感谢 感谢 李敖 大牛提供的技术思路 andilylia
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。