zbb20171108 tomcat目录结构

Tomcat8.0的目录结构:

/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件,startup.bat,shutdown.bat,可以直接开启关闭tomcat服务。还有一些jar包如tomcat-juli.jar

/conf:存放Tomcat服务器的各种全局配置文件,其中包括server.xml(Tomcat的主要配置文件,,里面配置了tomcat的3个端口号),

Tomcat-users.xml(配置tomcat用户的账户名和密码)和web.xml等配置文件

/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件

/logs:存放Tomcat执行时的日志文件

/temp:存放Tomcat运行时所产生的临时文件

/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录

/work:Tomcat将JSP生成的Servlet源文件和字节码文件放到这个目录下

 

注意:

在MyEclipse中将一个web项目添加到服务器中(web容器,如tomcat),这个项目里的java文件会被MyEclipse先编译成 字节码文件(.class)后加到tomcat目录下的webapps,webapps下项目里WEB-INF有个classes文件夹里面放的是 java文件编译后的class字节码,jsp文件此时不会被编译。等服务启动,第一次访问某jsp页面时,对应被访问到的jsp页面会被编译成字节码和 servlet(如index.jsp被编译成index_jsp和index_jsp)保存在work目录下

用tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序(发布到tomcat的项目里含的java类,

会被编译成.class后才发布过来,源文件没有发布过来,但这里的jsp没有经编译的)。

tomcat有一个work目录,里面存放了jsp页面的缓存,访问过的jsp都会编译,从 work里进入Catalina后的如localhost站点文件

夹下的项目,我们可以看到那些jsp页面会被编译成应该是servlet文件,下次再来访问时,就直接运行servlet类就可以向客户端

反应响应页面了,所以有的博客说第一次访问时会比较慢,是因为新发布上去的页面在第一个人访问时,会先编译成servlet文件,

所以慢了,一旦编译好,那么除非jsp页面修改,不然下次访问直接运行servlet就可以响应用户,所以快,编译后的文件都会存储

在work目录下。而tomcat显示的目录,都会从这个缓存里找编译后的jsp对应的class文件。所以当清空了work目录后,该过程将

会从新来过。 有的时候会遇到一个问题,就是修改后的页面在tomcat运行的时候显示不了修改后的痕迹。这个时候删除work目录

下对应的项目文件夹,重新启动tomcat就可以了。

 在tomcat的conf配置文件夹下的server.xml文件里配置了Host name后,就会在conf下的Catalina文件夹和work下的Catalina文件下

建立站点名称的文件夹,项目每次发布都会放入来,也会记录到 conf下的Catalina文件夹的配置文件里去。

web.xml配置简介:

 1、默认(欢迎)文件的设置

  在tomcat4confweb.xml中,<welcome-file-list>与IIS中的默认文件意思相同。

   <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

   </welcome-file-list>

 

 2、报错文件的设置

  <error-page>

   <error-code>404</error-code>

   <location>/notFileFound.jsp</location>

  </error-page>

  <error-page>

   <exception-type>java.lang.NullPointerException</exception-type>

   <location>/null.jsp</location>

  </error-page>

  如果某文件资源没有找到,服务器要报404错 误,按上述配置则会调用webappsROOT otFileFound.jsp。

  如果执行的某个JSP文 件产生NullPointException ,则会调用webappsROOT ull.jsp

 

 3、会话超时的设置

  设置session 的过期时间,单 位是分钟;

  <session-config>

   <session-timeout>30</session-timeout>

  </session-config>

 

 4、过滤器的设置

  <filter>

   <filter-name>FilterSource</filter-name>

   <filter-class>project4. FilterSource</filter-class>

  </filter>

  <filter-mapping>

   <filter-name>FilterSource</filter-name>

   <url-pattern>/WwwServlet</url-pattern>

   (<url-pattern>/haha/*</url-pattern>)

  </filter-mapping>

 

  过滤:

  1) 身份验证的过滤Authentication Filters

  2) 日志和审核的过滤Logging and AuditingFilters

  3) 图片转化的过滤Image conversionFilters

  4) 数据压缩的过滤Data compressionFilters

  5) 加密过滤Encryption Filters

  6) Tokenizing Filters

  7) 资源访问事件触发的过滤Filters that triggerresource access events XSL/T 过滤XSL/T filters

  9) 内容类型的过滤Mime-type chain Filter 注意监听器的顺序,如:先安全过滤,然后资源,

然后内容类型等,这个顺序可以自己定。

原文地址:https://www.cnblogs.com/super-admin/p/7804257.html