设为首页 收藏本站
查看: 406|回复: 0

[经验分享] javaEE Tomcat目录结构

[复制链接]

尚未签到

发表于 2017-1-20 07:35:48 | 显示全部楼层 |阅读模式
1. 一级目录
    bin ——Tomcat执行脚本目录
    conf ——Tomcat配置文件
    lib ——Tomcat运行需要的库文件(JARS)
    logs ——Tomcat执行时的LOG文件
    temp ——Tomcat临时文件存放目录
    webapps ——Tomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)
    work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。
2. 二级目录(仅列出一级目录下几个重要的文件)
   (1) bin目录下的文件
    catalina.sh 用于启动和关闭tomcat服务器
    configtest.sh 用于检查配置文件
    startup.sh 启动Tomcat脚本
    shutdown.sh 关闭Tomcat脚本
   (2) conf目录下的文件
    server.xml Tomcat 的全局配置文件
    web.xml 为不同的Tomcat配置的web应用设置缺省值的文件
    tomcat-users.xml Tomcat用户认证的配置文件
   (3) lib目录下的文件
    包含被Tomcat使用的各种各样的jar文件。
   (4) logs目录下的文件
    localhost_access_log.2013-09-18.txt 访问日志
    localhost.2013-09-18.log 错误和其它日志
    manager.2013-09-18.log 管理日志
    catalina.2013-09-18.log Tomcat启动或关闭日志文件
   (5) webapps目录下的文件
    含Web应用的程序(JSP、Servlet和JavaBean等)
   (6) work目录下的文件
    由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。 如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。
3. 三级目录(只针对二级目录webapps下的目录或文件)
   二级目录webapps,主要存放Web应用程序。Tomcat的Web应用程序应该由如下目录组成:
   (1).页面内容等文件的存放位置:*.html, *.jsp等可以有许多目录层次,由用户的网站结构而定,实现的功能应该是网站的界面,也就是用户主要的可见部分。除了HTML文件、JSP文件外,还有js(JavaScript)文件和css(样式表)文件以及其他多媒体文件等。
   (2).Web-INF/web.xml 这是一个Web应用程序的描述文件。这个文件是一个XML文件,描述了Servlet和这个Web应用程序的其他组件信息,此外还包括一些初始化信息和安全约束等等。
   (3).Web-INF/classes/ 这个目录及其下的子目录应该包括这个Web应用程序的所有JavaBean及Servlet等编译好的Java类文件(*.class)文件,以及没有被压缩打入JAR包的其他class文件和相关资源。注意,在这个目录下的Java类应该按照其所属的包层次组织目录(即如果该*.class文件具有包的定义,则该*.class文件应该放在.\WEB-INF\classes\包名下)。
   (4).通常Web-INF/classes/ 这个目录下的类文件也可以打包成JAR文件,并可以放到WEB-INF下的lib目录下。如将 classes目录下的各个*.class文件打包成WebMis.jar文件(jar cvf WebMis.jar *.*)
   说明:
    · WEB-INF目录中包含应用软件所使用的资源,但是WEB-INF却不在公共文档根目录之中。在这个目录中所包含的文件都不能被客户机所访问。
    · 类目录中(在WEB-INF下)包含运行Web应用程序时所需的Servlets,Beans等类。
    · lib目录(在WEB-INF下)包含有Java archive files (JARs),例如标签库或者Servlets,Beans等类的*.jar文件。
    · 如果一个类出现在JAR文件中同时也出现在类的目录中,类加载器会加载位于类目录中的那一个。
    (5). common/lib/ 这个目录下包含了所有压缩到JAR文件中的类文件和相关文件。比如:第三方提供的Java库文件、JDBC驱动程序等。
    · 其中msbase.jar、mssqlserver.jar、msutil.jar文件为SqlServer2000的JDBC驱动程序
    · 其中servlet-api.jar和jsp-api.jar为Servlet和JSP的API所在的包
Tomcat配置文件
    Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中,主要有以下几个:
    · server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;
    · web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息;
    · tomcat-user.xml:Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现;
    · catalina.policy:Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力;
    · catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此文件的相关设置;
    · logging.properties: Tomcat通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等;
    · context.xml:所有host的默认配置信息;
    下面对几个常用的配置文件进行详解。
   
1. server.xml

      Tomcat以面向对象的方式运行,它可以在运行时动态加载配置文件中定义的对象结构,这有点类似于apache的httpd模块的调用方式。server.xml中定义的每个主元素都会被创建为对象,并以某特定的层次结构将这些对象组织在一起。下面是一个简图说明了各组件之间的关系。
   DSC0000.jpg

  server.xml文件中可定义的元素非常多,包括Server, Service, Connector, Engine, Cluster, Host, Alias, Context, Realm, Valve, Manager, Listener,
Resources, Resource, ResourceEnvRef, ResourceLink, WatchedResource, GlobalNameingResources, Store, Transaction, Channel, Membership, Transport, Member, ClusterListener等。

    下面简单介绍几个常用组件:
   (1) .Connector组件
    Tomcat应该考虑工作情形并为相应情形下的请求分别定义好需要的连接器才能正确接收来自于客户端的请求。一个引擎可以有一个或多个连接器,以适应多种请求方式。
    定义连接器可以使用多种属性,有些属性也只适用于某特定的连接器类型。一般说来,常见于server.xml中的连接器类型通常有4种:
      · HTTP连接器
      · SSL连接器
      · AJP 1.3连接器
      · proxy连接器
    如server.xml中定义的HTTP连接器:

  

<Connector port="8080" protocol="HTTP/1.1"   
connectionTimeout="20000"   
redirectPort="8443" URIEncoding="UTF-8" />  
(2) .Context组件
    Context在某些意义上类似于apache中的路径别名,一个Context定义用于标识tomcat实例中的一个Web应用程序;如下面的定义:
  

<!-- Tomcat Root Context -->  
<Context path="" docBase="/web/webapps"/>  
<!-- buzzin webapp -->  
<Context path="/bbs"  
docBase="/web/threads/bbs"  
reloadable="true">  
</Context>  
<!-- chat server -->  
<Context path="/chat" docBase="/web/chat"/>  
<!-- darian web -->  
<Context path="/darian" docBase="darian"/>  
在Tomcat中,每一个context定义也可以使用一个单独的XML文件进行,其文件的目录为$CATALINA_HOME/conf/<engine
name>/<host name>。可以用于Context中的XML元素有Loader,Manager,Realm,Resources和WatchedResource。

    常用的属性定义有:
    · docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;切记,docBase的路径名不能与相应的Host中appBase中定义的路径名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字;
    · path:相对于Web服务器根路径而言的URI;如果为空“”,则表示为此webapp的根路径;如果context定义在一个单独的xml文件中,此属性不需要定义;
    · reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false;
   2. web.xml
    web.xml基于Java Servlet规范,可被用于每一个Java servlet容器,通常有两个存放位置,$CATALINA_BASE/conf和每个Web应用程序(通常是WEB-INF/web.xml)。Tomcat在deploy一个应用程序时(包括重启或重新载入),它首先读取conf/web.xml,而后读取WEB-INF/web.xml。  

  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-330841-1-1.html 上篇帖子: elipse 启动tomcat内存溢出 下篇帖子: memcached tomcat 共享session
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表