Referenced Libraries是编译环境下使用的JAR包,
所谓编译环境下使用的JAR包, 就是说你在Eclipse中进行源文件的编写的时候,
所需要引用到的类都从Referenced Libraries这个集合中的JAR包中拿;
WebRoot /web-inf/lib中的JAR包是运行时环境下使用的JAR包,
所谓运行时环境下使用的JAR包,就是说你在运行你的项目的时候所需要使用的JAR包的集合;
tomcat6.0以前版本
Tomcat下的文件目录
/bin:存放启动和关闭tomcat的脚本文件;
/conf:存放tomcat的各种配置文件,比如:server.xml
/server/lib:存放tomcat服务器所需要的各种jar文件(jar文件只可被tomcat 服务器访问)
/server/webapps:存放tomcat自带的两个web应用:admin应用和manager应用。
/common/lib:存放tomcat服务器以及所有web应用都可以访问的jar文件夹(web和tomcat服务器都可访问此jar)
/shared/lib:存放web都可访问的jar文件。(可以被所有的web访问,但不能被tomcat访问)
/logs:存放tomcat的日志文件
/webapps:当发布web应用时,默认情况下把web应用文件放于此目录下
/work:tomcat把由jsp生成的Servlet放于此目录
一、Tomcat5.0的目录结构图和Tomcat6.0目录结构图
+Tomcat5.0 +Tomcat6.0
+bin +bin
+conf +conf
+logs +logs
+temp +temp
+webapps +webapps
+work +work
+common +lib
+server
+shared
二、Tomcat5.0目录结构与Tomcat6.0目录结构比较
1、前面6个目录的作用一样:
bin:存放启动、停止服务器的脚本文件;
conf:存放服务器的配置文件,最重要的是server.xml文件;
logs:存放服务器的日志文件;
temp:存放Tomcat运行时的临时文件;
webapps:web应用的发布目录;
work:Tomcat的工作目录,默认情况下把编译JSP文件生成的servlet类文件放于此目录下;
2、不同点:
a、 Tomcat6.0的lib目录存放的是jar文件,服务器和所有的web应用程序都可以访问。
b、Tomcat5.0的common/lib目录和Tomcat6.0的lib目录的内容相同。然而,Tomcat5.0还对jar文件分类了。
c、Tomcat5.0的shared/lib目录放的jar文件,所有的web应用程序都可以访问,服务器不能访问;
d、Tomcat5.0的server/lib目录放的jar文件,服务器都可以访问,所有的web应用程序不能访问;
Tomcat5.0在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,使用来管理Tomcat-web服务用
Tomcat 的类/包加载顺序[转]
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。
2.环境变量CLASSPATH中的jar和class文件。
3.$CATALINA_HOME/common/classes下的class文件。
4.$CATALINA_HOME/commons/endorsed下的jar文件。
5.$CATALINA_HOME/commons/i18n下的jar文件。
6.$CATALINA_HOME/common/lib 下的jar文件。
(JDBC驱动之类的jar文件可以放在这里,这样就可以避免在server.xml配置好数据源却出现找不到JDBC Driver的情况。)
7.$CATALINA_HOME/server/classes下的class文件。
8.$CATALINA_HOME/server/lib/下的jar文件。
9.$CATALINA_BASE/shared/classes 下的class文件。
10.$CATALINA_BASE/shared/lib下的jar文件。
11.各自具体的webapp /WEB-INF/classes下的class文件。
12.各自具体的webapp /WEB-INF/lib下的jar文件
解决办法:
在apache-tomcat-6.0.36\根目录下新建一个文件夹(testlib),并将提取的jar包放到testlib下
修改apache-tomcat-6.0.36\conf\catalina.properties文件,在其中添加如下代码:shared.loader=${catalina.base}/testlib,${catalina.base}/testlib/*.jar