玩转tomcat之让世界变的更简单
来源:互联网 发布:淘宝服装摆拍视频教程 编辑:程序博客网 时间:2024/04/29 05:23
在web应用的开发中,我们经常做的工作可能就是 修改 -- 打包 -- 查看 -- 修改 。。。。。。 ,经过n多次的修改和之后我们完成了我们的工作,可是你肯定也被这打包的事弄的精疲力尽了。也许打包耗费的时间比我们修改的时间还要多,而且那还是一件无聊的事,那么为什么不让事情变的更简单一些呢 。
事情是可以变的更简单的,因为我们有嵌入式Tomcat 。。。。。。
/**
* Author : crazy_rain
* Date : 2007-03-12
* Description :EmbeddedTomcat ,快速部属和修改web应用的利器
*/
public class EmbeddedTomcat {
private static final Log log = LogFactory.getLog(EmbeddedTomcat.class);
private String webRoot = ""; //WEB应用程序路径
private String contextPath = ""; // WEB上下文名称
private boolean reloadable = true; //是否允许热替换
private boolean isRuning; //服务器是否正在运行
private Embedded tomcat; //嵌入式Tomcat
/**
* 创建 EmbeddedTomcat
*
* @param webRoot web应用的根路径
* @param contextPath 应用的上下文路径
*/
public EmbeddedTomcat(String webRoot, String contextPath) {
this.webRoot = webRoot;
this.contextPath = contextPath;
}
/**
* 创建 EmbeddedTomcat
*
* @param webRoot web应用的根路径
* @param contextPath 应用的上下文路径
* @param reloadable 是否允许热交换
*/
public EmbeddedTomcat(String webRoot, String contextPath, boolean reloadable) {
this(webRoot, contextPath);
this.reloadable = reloadable;
}
/**
* 启动Tomcat
*/
public void run() {
log.debug("EmbeddedTomcat is starting ...");
if (webRoot.equals("") || contextPath.equals("")) {
throw new IllegalArgumentException("webRoot or contextPath is empty , place check ...");
}
//创建内嵌式tomcat
tomcat = new Embedded();
//创建并设置tomcat引擎
Engine engine = tomcat.createEngine();
tomcat.setCatalinaHome(webRoot);
//创建服务主机
Host host = tomcat.createHost("localhost", webRoot);
//创建上下文
Context context = tomcat.createContext(contextPath, webRoot);
//设置是否允许热替换
context.setReloadable(reloadable);
host.addChild(context);
engine.addChild(host);
engine.setDefaultHost(host.getName());
engine.setName("EmbeddedTomcat");
tomcat.addEngine(engine);
Connector connector = null;
try {
connector = tomcat.createConnector(InetAddress.getLocalHost(), 8080, false);
} catch (UnknownHostException e) {
log.debug("UnknownHostException ...", e);
}
//设置资源编码
if (null != connector) {
connector.setURIEncoding("GBK");
}
tomcat.addConnector(connector);
try {
//启动 Tomcat
tomcat.start();
} catch (LifecycleException e) {
log.debug("LifecycleException ...", e);
}
isRuning = true;
log.debug("EmbeddedTomcat is running ...");
}
/**
* 关闭 EmbeddedTomcat
*/
public void stop() {
if (!isRuning) {
throw new IllegalStateException("tomcat is not running ...");
}
try {
tomcat.stop();
isRuning = false;
} catch (LifecycleException e) {
log.debug("LifecycleException ocurred while stop tomcat ...", e);
}
}
//for demo :)
public static void main(String args[]) {
EmbeddedTomcat tomcat = new EmbeddedTomcat("D://projects//NetStore", "/NetStore");
tomcat.run();
}
}
- 玩转tomcat之让世界变的更简单
- 让Ajax变的更简单
- 玩转 WebView ,突破系统限制,让缓存更简单,更灵活
- 让容器的世界变得更美好
- 简单两点让SEO外链工作变的更高效
- 达摩院黑科技首次亮相,语音让生活变的更简单!
- 达摩院黑科技首次亮相,语音让生活变的更简单!
- 达摩院黑科技首次亮相,语音让生活变的更简单!
- 人工智能让复杂世界变简单【智库2861】
- 百度更新使命:用科技让复杂的世界更简单
- 让系统变快的更快的解决方法
- 掌握几个简单的命令,让你玩转Linux
- 获得让事情变简单的勇气
- 获得让事情变简单的勇气
- 获得让事情变简单的勇气
- 聪明人让复杂的问题变简单
- Hexo让博客梦变的简单
- 让Java的反射更得简单
- 对话周鸿袆:从程序员创业谈起
- JAVA学习路线
- 用Delphi开发JNI(Java Native Interface)应用
- Lotus Domino/Notes开发和管理常见问题
- web应用程序的SqlServer的安全考虑
- 玩转tomcat之让世界变的更简单
- 如何修改db_block_buffers
- 操作Lotus Notes数据库
- System.out.println 的输出顺序..
- 软件测试 从零开始
- 很好的活动ASP.NET爱好者值得关注
- 分析Hibernate的事务处理机制
- QTP中文版手册
- 弹出的窗口关闭后如何刷新主画面