url : http://localhost:8898/studyPro/index.jsp
The requested resource (/studyPro/index.jsp) is not available.
load context log :
appPath:/studyPro
装载了Web应用studyPro
appPath:
装载了Web应用ROOT
init code:
private void init() throws UnknownHostException {
tomcat.setCatalinaHome(catalinaHome);
Engine engine = tomcat.createEngine();
engine.setName(engineName);
Host host = tomcat.createHost("localhost", tomcat.getCatalinaHome()
+ appBase);
host.setAutoDeploy(true);
if (logger.isInfoEnabled()) {
logger.info("WebApp的根路径为" + appBase);
}
File baseDir = new File(tomcat.getCatalinaHome() + appBase);
// 自动获取webapps下的war,就行解压和自动获取创建Context
if (baseDir.exists()) {
chkAndExtractWar(baseDir);
File lstFile = new File(baseDir, "webapps.lst");
// deploy文件jsp
if (lstFile.exists()) {
lstDeploy(host, baseDir);
} else {
defaultDeploy(host, baseDir);
}
}
engine.setDefaultHost(host.getName());
engine.addChild(host);
tomcat.addEngine(engine);
tomcat.setDebug(logLever);
InetAddress ias = InetAddress.getByName("0.0.0.0");
Connector connector = tomcat.createConnector(ias, port, false);
if (connector instanceof CoyoteConnector) {
CoyoteConnector cconnector = (CoyoteConnector) connector;
cconnector.setURIEncoding("GBK");
}
tomcat.addConnector(connector);
if (logger.isInfoEnabled()) {
logger.info("创建连接器" + ias.getHostAddress() + ":" + port);
}
}
deploy代码:
FileFilter appDirFF=new FileFilter(){
public boolean accept(File pathname) {
if( pathname.isDirectory()){
//目录下必须有WEB-INF和WEB-INF/web.xml
File webInf=new File(pathname,"WEB-INF");
return webInf.exists() && new File(webInf,"web.xml").exists();
}
return false;
}
};
//获取所有的目录,转换成Context并加载
File[] appDirs=baseDir.listFiles(appDirFF);
for (int i = 0; i < appDirs.length; i++) {
String appDirName=appDirs[i].getName();
String appPath="/"+appDirName;
if("ROOT".equalsIgnoreCase(appDirName)){
appPath="";
}
Context ctxRoot = tomcat.createContext(appPath,appDirName);
ctxRoot.setPrivileged(true);
ctxRoot.setReloadable(true);
ctxRoot.addParameter("debug", "0");
host.addChild(ctxRoot);
if(logger.isInfoEnabled()) {
logger.info("装载了Web应用"+appDirName);
}
}
用的是tomcat5.0.28做的demo导入的jar:
ant.jar
ant-launcher.jar
catalina.jar
catalina-optional.jar
commons-digester.jar
commons-el.jar
commons-modeler.jar
jakarta-regexp-1.3.jar
jasper-compiler.jar
jasper-runtime.jar
jsp-api.jar
mx4j-jmx.jar
naming-common.jar
naming-factory.jar
naming-java.jar
naming-resources.jar
servlet-api.jar
servlets-common.jar
servlets-default.jar
servlets-invoker.jar
tomcat-coyote.jar
tomcat-http11.jar
tomcat-jk2.jar
tomcat-util.jar
tools.jar
tools.jar已经换成工程jdk的版本下的tools.jar了
还是报不能访问资源,我是刚做内嵌tomcat的demo,是新手,请各位帮忙看看
分享到:
相关推荐
内嵌式tomcat启动web工程,maven代码 内嵌式tomcat启动web工程,maven代码
内嵌tomcat实例代码.rar
为什么使用内嵌Tomcat开发?...基于内嵌apache-tomcat-8.0.24的应用开发解决了网上提供省了el-ri相关jar 包的问题,此项目可以直接部署到myeclispe中直接运行EmbededTomcat类就可以执行内嵌tomcat运行web程序
这是一个Java内嵌式 Tomcat的Demo。详细文章请见我的博客
SpringBoot启动内嵌容器,启动时自动加载tomcat原理,tomcat内嵌集成实现
使用embeded tomcat进行嵌入式javaee开发-启动tomcat
主要介绍了Spring Boot启动过程(五)之Springboot内嵌Tomcat对象的start的相关资料,需要的朋友可以参考下
主要介绍了Spring Boot启动过程(四)之Spring Boot内嵌Tomcat启动的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
jetty容器内嵌到java代码中,通过代码控制启动,方便开发调试
这里尤其要注意设置协议这一块,众所周知,Tomcat默认用的是BIO,在生产环境中,最差也得用NIO吧,最好是APR,那么对应的协议类如下:在实际应用的时候,可
记一次通过Arthas定位解决springboot中内嵌tomcat问题.docx
嵌入tomcat
基于网络上嵌入式Tomcat资源较少,而我也正好有此资源,因此就共享该嵌入式Tomcat资源,以供大家学习和交流。
主要介绍了SpringBoot如何取消内置Tomcat启动并改用外接Tomcat,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springboot单独升级Tomcat
用java程序做的一个嵌入式tomcat,可供大家参考、补充。
6 更容易将Tomcat内嵌到应用去中去,比如JBoss 7 异步日志记录 根据Mark Thomas,Tomcat 7委员会的经理的说法,Tomcat 7最显著的三个特征是Servlet 3.0,内存检测泄露和增强的安全特性。 Tomcat 7的例子...
java使用内嵌Tomcat开发javaWeb项目源代码
SpringMVC精品资源--手写Spring,支持ioc(三级缓存)、aop(cglib)、内嵌tomcat
jfina5.0.0+tomcat内嵌版演示demo