關於‘Starting Tomcat v7.0 Server at localhost’ has encountered a problem問題
阿新 • • 發佈:2018-11-19
這個問題,寫<servlet-mapping>中的<url-pattern>的時候,沒有正確書寫格式就會報錯,比如,<url-pattern>./testservlet</url-pattern>、
<url-pattern>testservlet</url-pattern>這樣的格式均不正確,必須:
1.精確匹配:/testservlet
2.副檔名匹配:*.jsp,*.html等
3.路徑匹配:/test/*
4.任意匹配:/ 或者/*
以上幾種之一,另外,匹配有優先之分:
當一個url與多個servlet的匹配規則可以匹配時,則按照 “ 精確路徑 > 最長路徑>副檔名”這樣的優先順序匹配到對應的servlet。舉例如下:
例1:比如servletA 的url-pattern為 /test,servletB的url-pattern為 /* ,這個時候,如果我訪問的url為http://localhost/test ,這個時候容器就會先進行精確路徑匹配,發現/test正好被servletA精確匹配,那麼就去呼叫servletA,不會去管servletB。
例2:比如servletA的url-pattern為/test/*,而servletB的url-pattern為/test/a/*,此時訪問http://localhost/test/a時,容器會選擇路徑最長的servlet來匹配,也就是這裡的servletB。
例3: 比如