我對servlet非常陌生。我想提供一些靜態文件,一些CSS和一些JavaScript。這是我走到這一步:關於從Servlet中提供靜態文件的問題
在web.xml:
<servlet>
<description></description>
<display-name>StaticServlet</display-name>
<servlet-name>StaticServlet</servlet-name>
<servlet-class>StaticServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StaticServlet</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
我假設在StaticServlet
我有request.getPathInfo
工作,看是什麼要求,得到一個MIME類型,閱讀將文件&寫入客戶端。
如果這不是一種可行的做法,或者不是一種可行的做法,請建議一種更好的方法。 我不太確定在哪裏放置static
目錄,因爲如果我嘗試打印new File(".")
它會給我我的Eclipse安裝目錄。 有沒有辦法找出項目的目錄?
在哪裏可以找到戰爭文件?我目前正在從eclipse運行該項目,並且找不到它。 – Geo 2010-05-28 16:10:19
通常,如果您直接從Eclipse運行項目,則不會創建實際的.war文件,但這並不重要,您的servlet容器仍應提供WebContent目錄下的任何文件。這假定你沒有一個servlet映射覆蓋文件的路徑。如果您從web.xml中刪除所有servlet並直接在WebContent目錄中放置test.html並重新啓動服務器,則應該可以通過導航到http:// localhost:8080/{web-root}/test.html – 2010-05-28 16:24:23
謝謝麥克!這就是訣竅! – Geo 2010-05-28 16:39:39