当然这里并不是讨论Tomcat的内核,这不是我的目的。
我们来到TOMCAT_HOME目录,下面有一个webapps文件夹,打开后里面有几个文件夹,这些都是Tomcat自带的,也就是说你所有的web应用都必须放在这个Tomcat的webapps文件夹下,当然这个文件夹是可以更改的 。
我们打开ROOT这个web应用来分析一下, ROOT这个web应用是Tomcat默认的web应用,在地址栏里输入http://localhost:8080看到的就是这个web应用。文件夹里面有一个index.jsp文件,这是默认的首页命名方式,也可以是index.html,index.php,反正只要命名为index就会默认显示,如果你输入的网址是http://localhost:8080/index.jsp,那么你看到的页面和刚才是一样的。
再来看WEB-INF这个文件夹,这个文件夹是很重要的,里面有一些需要用到的类, 和一个web.xml文件,打开这个xml文件,会看到这么一些代码:
2 <servlet-name>org.apache.jsp.index_jsp</servlet-name>
3 <servlet-class>org.apache.jsp.index_jsp</servlet-class>
4 </servlet>
5 <servlet-mapping>
6 <servlet-name>org.apache.jsp.index_jsp</servlet-name>
7 <url-pattern>/index.jsp</url-pattern>
8 </servlet-mapping>
这些代码说明了如何对网页的请求做出响应,我会在介绍Servlet的相关章节详细介绍。
Tomcat到底是一个什么东西,有人说它是一个服务器,有人说它是一个Servlet容器,都对吧。比如你写一个html页面,就算你不放在webapps文件夹下,也可以直接用浏览器打开,那么和放在web应用下有什么区别呢?如果直接用浏览器打开,那么你是通过查找硬盘来读取数据的,而如果放在web应用下,则是想服务器发送请求,服务器去硬盘上找这个文件,然后对你的请求做出响应,给出你想要看到的页面。如果我把服务器关掉了,那么你的请求就无法满足,也就不会显示,但是这个html页面仍然存在啊,用浏览器仍然可以打开,这就是两者的区别。
说Tomcat是一个Servlet容器也对,我们可以在web.xml文件中配置我们的Servlet,然后当我们请求某一个Servlet的时候,Tomcat就把它呈现给我们,就好像它存着很多的Servlet,我们可以去取我们需要的。如何配置和使用这些Servlet,我会在以后的章节中详细说明。