Tomcat详解

转载文章:  https://blog.csdn.net/jdjdndhj/article/details/52694202

                   https://blog.csdn.net/begin27/article/details/50903095


 Tomcat7 的目录结构如图:

·  

1、bin该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.batshutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat

2、conf这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:

  • server.xml配置整个服务器信息。例如修改端口号,添加虚拟主机等
  • tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
  • web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
  • context.xml:对所有应用的统一配置,通常我们不会去配置它。

3、libTomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;

4、logs这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

5、temp存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!

6、webapps存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。

7、work运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的javaclass文件都会存放到这个目录下。

8、LICENSE许可证。

9、NOTICE说明文件。

--------------------------------------------------------------------------------------------------------------------------

tomcat8目录结构

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、默认(欢迎)文件的设置

 在tomcat4\conf\web.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错 误,按上述配置则会调用\webapps\ROOT\notFileFound.jsp。

如果执行的某个JSP文 件产生NullPointException ,则会调用\webapps\ROOT\null.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 注意监听器的顺序,如:先安全过滤,然后资源,

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值