我对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