如何将sitemap.xml保留在webapp的部署文件夹之外?

时间:2012-11-06 00:57:25

标签: jsf-2 glassfish-3 sitemap

我正在使用glassfish服务器3.1.2和jsf 2.1。基于sitemaps.org标准,整个网站的站点地图文件应位于根文件夹中。在创建新条目后,我将有多个站点地图,站点地图将动态更改。我已阅读there,我想使用备用docroot。但我无法为根目录创建备用docroot。我应该找到一个像备用docroot一样的解决方案。

1 个答案:

答案 0 :(得分:2)

您可以创建一个简单的servlet来执行该作业。

@WebServlet("/sitemap.xml")
public class SitemapServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/xml");
        // You might want to add finer grained browser cache related headers.

        InputStream input = new FileInputStream("/some/path/to/sitemap.xml");
        OutputStream output = response.getOutputStream();
        // Now just write input to output using your favorite way.
        // ...
    }

}