這樣就到了我們更需要關注的一塊了,也就是項目本身了。
通過上面的,應該已經知道,Servlet等是由Context容器管理的。而Context容器怎麼管理呢?如果還記得前面講的的話,應該知道conf裏面有一個文件context.xml,裏面只有一行數據:
<WatchedResource>WEB-INF/web.xml</WatchedResource>
表示了context容器去裝載項目DD文件的目錄,也就是我們項目主目錄下的WEB-INF/目錄下的web.xml文件了。這個文件是需要我們自己寫的,而這個文件裏面是些什麼內容呢?也就是我一個項目,什麼東西才需要在這個文件中記錄呢?
前面已經把網絡層的tomcat從8080端口的socket消息如何封裝成Http請求,如何通過請求包的包頭的url,正確的傳遞給相應的Context處理了。然後的問題就剩下具體的處理資源映射了。也就是http://localhost:8080/foo/index.jsp這個請求已經可以送到foo目錄下了,然後如果處理這個index.jsp呢?這就要看看Context容器是如果管理一個web項目的了。
前面應該已經說過,主要是通過web.xml文件,每個項目都有一個tomcat配置的基本的web.xml,和自身的一個web.xml文件。問題就是Context容器是如果通過這兩個文件來管理web項目呢?我們先不看這兩個文件,看看下面一篇引用的tomcat啓動的經典文章,可以結合前面的介紹。