代码之家  ›  专栏  ›  技术社区  ›  Geo

关于从servlet提供静态文件的问题

  •  0
  • Geo  · 技术社区  · 16 年前

    我对servlets很陌生。我想提供一些静态文件,一些css和javascript。到目前为止我得到的是:

    在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

    我真的不知道在哪儿放这个 static 目录,因为如果我想打印 new File(".") 它提供了Eclipse安装的目录。

    3 回复  |  直到 16 年前
        1
  •  2
  •   crowne    16 年前

    唯一需要servlet来执行此操作的时候是,如果您希望使用原始项作为模板,您希望在将其返回到客户端浏览器之前以编程方式对其进行操作。

        2
  •  5
  •   BalusC    16 年前

    你真的可以让servletcontainer DefaultServlet

    回答你的问题 实际的 问题,即使只是为了学习,你也可以用 ServletContext#getRealPath() 将相对web路径转换为绝对本地磁盘文件系统。

    String relativeWebPath = "/static/file.ext";
    String absoluteFilePath = getServletContext().getRealPath(relativeWebPath);
    File file = new File (absoluteFilePath);
    // ...
    
        3
  •  2
  •   Edwin Buck    16 年前

    推荐文章