⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 embed tomcat in a standalone java application--rosonsandy.htm

📁 这是最详细的对Tomcat4以上版本的解析。
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://rosonsandy.blogdriver.com/rosonsandy/1166757.html -->
<HTML><HEAD><TITLE>Embed Tomcat in a Standalone Java Application--rosonsandy</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META http-equiv=Expires content=0>
<META 
content="收藏夹Embed Tomcat in a Standalone Java ApplicationUnix 系统的组成1  博客 博客动力 blog blogdriver blogger 中国" 
name=description>
<META 
content="rosonsandy 收藏夹Embed Tomcat in a Standalone Java ApplicationUnix 系统的组成1 博客 博客动力 blog blogdriver blogger 中国" 
name=keywords><LINK 
href="Embed Tomcat in a Standalone Java Application--rosonsandy.files/diary.css" 
type=text/css rel=stylesheet>
<SCRIPT language=JavaScript 
src="Embed Tomcat in a Standalone Java Application--rosonsandy.files/UBB.js"></SCRIPT>

<SCRIPT 
src="Embed Tomcat in a Standalone Java Application--rosonsandy.files/blog.js" 
type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<DIV id=container>
<DIV id=header>
<H1 class=title><A 
href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">rosonsandy</A></H1></DIV>
<DIV id=category><A title=上一篇 
href="http://rosonsandy.blogdriver.com/rosonsandy/1162907.html">收藏夹</A>- -| <A 
href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">回首页</A> | <A 
href="http://rosonsandy.blogdriver.com/rosonsandy/catalog_2006.html">2006年索引</A> 
| - -<A title=下一篇 
href="http://rosonsandy.blogdriver.com/rosonsandy/1168663.html">Unix 
系统的组成1</A></DIV>
<DIV class=entity>
<H2 class=diaryTitle>Embed Tomcat in a Standalone Java Application- -</H2>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

<P>先到官网下载个<A 
href="http://tomcat.apache.org/download-55.cgi">apache-tomcat-5.5.16-embed.zip</A><BR>eclipse新建个项目,将压缩包里面的东西全部复制到项目内,然后设置path,将lib/*.jar全部加入。<BR><IMG 
height=266 
src="Embed Tomcat in a Standalone Java Application--rosonsandy.files/embeddedTomcat.jpg" 
width=267>
<P></P>
<DIV 
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>EmbeddedTomcat.java</B>
/*
 * @author roson
 *
 * 2006-4-10 
 */

package com.netone;

import java.net.InetAddress;

import org.apache.catalina.realm.MemoryRealm;
import org.apache.catalina.startup.Embedded;
import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.connector.Connector;

public class EmbeddedTomcat {

	private String name;
	private int port;
	private Embedded embedded;
	private Engine baseEngine;
	private Host baseHost;
	private Connector httpConnector;
	
	public EmbeddedTomcat(String name,int port)
	{
		this.name=name;
		this.port=port;
		
		init();
	}
	
	private void init()
	{
		MemoryRealm realm;
		Context context;
		String baseEngineName;
		String baseHostName;
		
		embedded=new Embedded();
		realm=new MemoryRealm();
		embedded.setRealm(realm);
		
		baseHostName=name+"Host";
		baseHost=embedded.createHost(baseHostName,"webapps");
		
		baseEngine=embedded.createEngine();
		baseEngineName=name+"Engine";
		baseEngine.setName(baseEngineName);
		baseEngine.setDefaultHost(baseHostName);
		baseEngine.addChild(baseHost);
		
		context=addContext("","ROOT");
		context=addContext("/manager","manager");
		context.setPrivileged(true);
		
		embedded.addEngine(baseEngine);
		
		httpConnector=embedded.createConnector((InetAddress)null,port,false);
		embedded.addConnector(httpConnector);
	}
	
	public Context addContext(String path,String docBase)
	{
		Context newContext=embedded.createContext(path,docBase);
		baseHost.addChild(newContext);
		
		return newContext;
	}
	
	public void start()
	{
		try
		{
			embedded.start();
		}
		catch(LifecycleException e)
		{
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		new EmbeddedTomcat("Embedded",8080).start();
	}
}
</PRE></DIV>
<P>参考网页:<BR><A 
href="http://www.jroller.com/page/cyblogue/weblog/how_to_embed_tomcat_into">How-to: 
Embed Tomcat in a Standalone Java Application</A><BR><A 
href="http://forum.javaeye.com/viewtopic.php?t=19403">嵌入式Tomcat怎么能让Context自动reload 
</A><BR><A 
href="http://www.vsj.co.uk/articles/display.asp?id=319">非常详细的介绍了embedded 
tomcat</A><BR><A 
href="http://www.blogcn.com/User8/flier_lu/blog/4740621.html">使用嵌入式 Tomcat 
简化程序调试</A> <A href="http://publishblog.blogdriver.com/control/blog/"></A><A 
href="http://publishblog.blogdriver.com/control/blog/"></A></P>
<P></P>
<P class=diaryFoot>- 作者: <A 
onclick="window.open('http://publishblog.blogdriver.com/blog/postMessage.b?receiver=517836','发送短消息','width=520, height=455')" 
href="javascript:void(0);">rosonsandy</A> 2006年04月10日, 星期一 15:26 </P></DIV>
<DIV class=operation><A name=trackback>
<H3>Trackback</H3></A>
<P class=trackback>你可以使用这个链接引用该篇日志 
http://publishblog.blogdriver.com/blog/tb.b?diaryID=1166757 </P></DIV>
<DIV class=operation><A name=relatedDiary>
<H3>博客手拉手</H3></A>
<TABLE width="90%">
  <TBODY></TBODY></TABLE></DIV>
<DIV class=operation><A name=comment>
<H3>回复</H3></A></DIV>
<DIV class=operation>
<TABLE class=comment cellSpacing=0 cellPadding=0 width=700 border=0>
  <FORM id=replyForm method=post><INPUT type=hidden value=356891 name=blogID> 
  <INPUT type=hidden value=1166757 name=diaryID> <INPUT type=hidden 
  value=rosonsandy name=blogDomino>
  <SCRIPT>
if(getCookie('userID') == null){        
document.write('<tr><td width="70">发布人:</td>');
document.write('<td width="150"> <input name="remark.authorNameFUI" type="text" size="20" class="inputStyle" maxlength="20"></td>');
document.write('<td width="70">邮箱:</td>');
document.write('<td width="435"> <input name="remark.authorEmail" type="text" size="20" class="inputStyle" maxlength="40"></td>');
document.write('</tr><tr><td>主 页:</td>');
document.write('<td colspan="3"> <input name="remark.authorURL" type="text" class="inputStyle" value="HTTP://" size="63" maxlength="40"></td></tr>');
}else{
document.write('<input type="hidden" name="remark.authorNameFUI" value="Blogdriver">');
}
</SCRIPT>
   
  <TBODY>
  <TR align=left>
    <TD colSpan=4>评论内容:<BR><TEXTAREA class=textStyle id=remark name=remark.remarkFUI rows=8 cols=60>          </TEXTAREA> 
    </TD></TR>
  <TR align=left>
    <TD colSpan=4>              <INPUT onclick=reply() type=button value=提交>   
<INPUT type=reset value=重置> </TD></TR></FORM></TBODY></TABLE></DIV></DIV>
<SCRIPT src="" type=text/javascript></SCRIPT>

<DIV id=footer><A 
href="http://statices.blogdriver.com/jsp/reg/register.jsp"><IMG class=logo 
src="Embed Tomcat in a Standalone Java Application--rosonsandy.files/logo3.gif" 
border=0></A><A href="http://www.blogdriver.com/">2003-2004 BLOGDRIVER.COM All 
rights reserved</A></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -