1. 程式人生 > >zbb20171108 tomcat目錄結構

zbb20171108 tomcat目錄結構

apps 刪除 訪問 日誌文件 web-inf trigge win trigger 文件夾

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 註意監聽器的順序,如:先安全過濾,然後資源,

然後內容類型等,這個順序可以自己定。

zbb20171108 tomcat目錄結構