Tomcat文件详解

 一:服务器目录结构
bin:tomcat使用命令
common:网络编程的jar文件,Tomcat运行需要的共用文件;
common\lib:公用的类库
conf:tomcat配置文件;web.xml、server.xml、tomcat-users.xml(配置Admin用户会用到)


logs:日志文件,启动和关闭的信息。
server:自带的web应用(三个)
server\lib:Tomcat服务器运行自己需要用到的类库
server\webapps :自己运行使用的web应用(如admin权限管理web模块)
shared:所有web应用都可以访问的内容,放一些公用的类,入数据库驱动
temp:临时文件夹
webapps:默认站点文件夹.部署项目的地方,这块是重点,自己写的web工程都放在里面

work:jsp生成的类.
work\Catalina\localhost:Tomcat运行时将webapps下的工程加载在此处
二:项目目录结构
yourWebApp目录结构:
src: java类源文件。
webRoot:
META-INF
MANIFEST.MF
context.xml
WEB-INF
classes目录 web工程的运行程序,java类文件(对应开发时的java源文件)
lib目录 调用的类库
src目录 使用的资源(属性文件、图片、...)
web.xml web工程的运行总体配置文件
struts-config.xml web工程基于Struts框架下的struts配置文件
*.tld 各种标签库的配置文件
otherDir
按业务功能划分的文件目录(jsp、js、html、gif、CSS)

webFile
根目录下的一些web文件( 一般是欢迎页面的jsp或html文件)


 

配置一个虚拟目录:

         1.要配置一个虚拟目录必须有以下的目录结构:

           WEB ROOT--->这是web根目录,可任意定义,一般的可执行.jsp文件都放在此文件夹中。    

               | WEB-INF ---> 虚拟目录必须有此文件夹,格式要求。

                   | web.xml 虚拟目录的配置文件。

       2.虚拟目录中的web.xml文件可以在文件夹webapps->ROOT->WEB-INF->web.xml找到。

        3.要想让tomcat启动时找到虚拟目录,需要在conf文件夹下的server.xml中进行配置。

          <Context path="/demo" docBase="D:\xnml"/>    此句必须写在</host>之上;

                 Context:表示配置一个新的上下文;

                 path:浏览器的输入路径,注意必须有 “/”;

                 docBase:path路径对应着硬盘上的真实目录;xnml文件夹也是web根目录;

        4.在conf文件夹中的web.xml文件中,ctrl+F 搜索list到

              <init-param>
                  <param-name>listings</param-name>
                  <param-value>true</param-value>
             </init-param>

          有的时候为false,改成true,意思是tomcat在加载时将目录列表功能打开,我们才可以访问虚 

          拟目录中的文件;

        5.在D:\xnml下写个.jsp文件;

        6.在浏览器中输入:http://localhost:8080/demo  tomcat启动时会执行配置文件进而执行.jsp文

          件。

 

tomcat的执行流程:

        1.用户在浏览器中输入请求地址;

        2.客户端通过浏览器将请求地址发送给WEB容器;

        3.WEB容器根据请求地址找到*.jsp文件;

        4.将*.jsp文件转换成*.java文件;

        5.将*.java文件经过编译成*.class文件;

        6.服务器执行*.class文件并将结果反馈给浏览器。

 

server.xml配置简介
下面是这个文件中的基本配置信息,更具体的配置信息见tomcat的文档
server:
port 指定一个端口,这个端口负责监听关闭tomcat的请求
shutdown 指定向端口发送的命令字符串
service:
name 指定service的名字
Connector (表示客户端和service之间的连接):
port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
minProcessors 服务器启动时创建的处理请求的线程数
maxProcessors 最大可以创建的处理请求的线程数
enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout 指定超时的时间数(以毫秒为单位)
Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求):
defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的
Context (表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范):
docBase 应用程序的路径或者是WAR文件存放的路径
path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序
host (表示一个虚拟主机):
name 指定主机名
appBase 应用程序基本目录,即存放应用程序的目录
unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
Logger (表示日志,调试和错误信息):
className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口
prefix 指定log文件的前缀
suffix 指定log文件的后缀
timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt
Realm (表示存放用户名,密码及role的数据库):
className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口
Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):
className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息
directory 指定log文件存放的位置
pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多

注意:
默 认的server.xml中,Realm元素只设置了一个className属性,但此文件中也包含几个通过JDBC连接到数据库进行验证的示例(被注释 掉了),通过Realm元素我们可以实现容器安全管理(Container Managed Security)。

还有一些元素,如Parameter,loader,你可以通过tomcat的文档获取这些元素的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值