剛才花了一個小時找 servlet 的一個錯誤,最終找出來了,也大概明白 tomcat 伺服器對請求的處理順序,下面做簡單總結:
- 浏覽器發送請求,傳給 tomcat
- 在此請求位址指向的檔案裡定義了操作方式
- 請求
- POST
- GET
- action 的值(例如ABC )
- 請求
- 這裡的ABC 是個關鍵,tomcat 會去自己的映射檔案(web.xml )中尋找此ABC 。映射可能是這個樣子
<servlet-mapping>
<servlet-name>ABCname</servlet-name>
<url-pattern>/ABC</url-pattern>
</servlet-mapping>
- 也就得到了此映射的名字 ABCname
- 接下來,tomcat 會再次在此檔案(web.xml )中找 ABCname 對應的 servlet 。可能會是如下樣子:
<servlet>
<servlet-name>ABCname</servlet-name>
<servlet-class>WelcomeYou</servlet-class>
</servlet>
- 則 WelcomeYou 就是後面要執行的 java class 檔案
- 後面就是其他處理。。。