因為 在Eclipse 裡建一個Tomcat Project,它不會自動在工程目錄裡產生web.xml設定檔,所以要手動添加並編寫。今天嘗試做了一個servlet玩玩,但在寫設定檔時,我把<servlet-name>的屬性名稱字寫錯了,以致瀏覽時報錯。才發現原來其中有些細節是需要注意的,寫下來記住才行。
在Tomcat5.0 的D:\Tomcat 5.0\conf\Catalina\localhost目錄裡, Eclipse產生了一個Counter.xml的檔案.代碼如下:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:/JavaProject/workspace/Counter" path="/Counter" reloadable="true" workDir="D:\JavaProject\workspace\Counter\work">
</Context>
大家要留意了,path的值是"/Counter",它所對應的是在D:\JavaProject\workspace\Counter 目錄下自己手動建立的web.xml檔案裡的servlet-name: Counter
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Counter</servlet-name>
<servlet-class>com.Counter1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Counter</servlet-name>
<url-pattern>/Counter</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Counter</welcome-file>
</welcome-file-list>
</web-app>
這個檔案我是用XMLSPY寫的,寫得比較快,沒多注意,以致把Counter寫成了counter,瀏覽"http://localhost:8080/manager/htm"時,在path欄目雷根本找不著項目.
在此,大家如果看了也引以注意.
上面的設定檔,mapping 和welcome-file是可以隨便根據自己的需要修改的,但是servlet-name就要注意了,因為它還與tomcat裡的項目設定檔有關聯.