我有一個Web應用程序,我想要將JSP與地址http://host:port/status
聯繫起來,將一個servlet連接到地址如http://host:port/status/...
。這可能嗎?根據this文章,至少對於某些容器,「Servlet規範」包含類似的示例(儘管沒有通配符,在2013年4月的第12-123頁上)應該是可能的(「容器優先匹配通配符路徑匹配上的精確路徑」版本),但是如果我嘗試web.xml
中的以下內容,就好像JSP從未被調用過,並且所有請求(也是http://host:port/status
)都被路由到servlet。我的JSP和servlet託管在Google App Engine上。在web.xml中映射兩個servlet,其中一個URL模式是另一個的子串
<servlet>
<servlet-name>Status</servlet-name>
<jsp-file>/Status.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>Status</servlet-name>
<url-pattern>/status</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>StatusUpload</servlet-name>
<servlet-class>com.example.StatusUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StatusUpload</servlet-name>
<url-pattern>/status/*</url-pattern>
</servlet-mapping>
甚至會這樣做的重點? – developerwjk
@developerwjk E.g.這是:通過POST請求收集到的數據是'status/postfix'。用戶可以通過'status'昆蟲收集數據。保持URL名稱空間乾淨恕我直言。 – Drux