加载顺序
图示如下:
bootstrap
system
common
catalina shared
webapp webapp2
第一步:加载JVM类库。一般是加载由虚拟机提供的基本的运行时类和系统扩展目录($JAVA_HOME/jre/lib/ext)下的JAR包。
第二步:加载系统环境变量的类库。这个加载器用来加载CLASSPATH环境变量中指定的类。
第三步:加载Tomcat下面common文件夹下面的公共类库。
第四步:加载自己需要的catalina类库。
第五步:webapps下面自己应用的类库,包括webapp1、webapp1......等。
浏览器页面与Tomcat的交互过程?
当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:
(1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序
(2)再由java编译器对这个Servlet进行编译,得到可执行class文件
(3)再由JVM解释器来解释执行class文件,生成向客户端发送的应答,然后发送给客户端
以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。
1.1.3介绍几种WEB服务器,问Tomcat里面的文件组成?
Apache、Tomcat、Jetty、Jboss、Websphere、WebLogic
bin:启动、关闭Tomcat的命令。
common/lib:网络编程的jar文件。
conf:配置文件。
logs:日志文件.
server:自带的web应用(三个).
shared:所有web应用都可以访问的内容.
temp:临时.
webapps:默认站点文件夹.
work:jsp生成的类.
Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器。TomcatServer是根据servlet和JSP规范进行执行的,因此我们就可以说TomcatServer也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
tomcat 中如何禁止列目录下的文件
在{tomcat_home}/conf/web.xml 中,把 listings 参数设置成 false 即可, 如下:
<init-param> vparam-name>listingsv/param-name>
<param-value>false</param-value> v/init-param>
<init-param>
<param-name>listings</param-name> <param-value>false</param-value>
</init-param>
部署方式
tomcat 中四种部署项目方法
第一种方法:
在tomcat 中的conf 目录中,在server.xml 中的,<host/>节点中添加:
<Context path="/hello"
docBase="D:/eclipse3.2.2/forwebtoolsworkspacehello/WebRoot"deb ug="0" privileged="true">
</Context>
至于Context 节点属性,可详细见相关文档。第二种方法:
将web 项目文件件拷贝到 webapps 目录中。
第三种方法:
很灵活,在conf 目录中,新建Catalina (注意大小写)
\ localhost 目录,在该目录中新建一个 xml 文件,名字可以随意取, 只要和当前文件中的文件名不重复就行了,该 xml 文件的内容为:
<Context path="/hello"docBase="D:eclipse3.2.2forwebtoolsworksp aceheloWebRoot"
debug="0"privileged="true">
</Context>
第 3 个方法有个优点,可以定义别名。服务器端运行的项目名称
为path,外部访问的 URL 则使用XML 的文件名。这个方法很方便的隐 藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换 个路径, 非常有效。
第 2、3 还有优点,可以定义一些个性配置,如数据源的配置等。
第四种办法:
可以用tomcat 在线后台管理器,一般tomcat 都打开了,直接上传war就可以
评论