Servlet / Tomcat文件路径

时间:2016-05-17 08:36:07

标签: java eclipse maven tomcat localhost

由Maven组装后,将war-file放在外部Tomcat服务器上。当servlet启动时,有一个FileNotFoundException,它找不到2.html文件(路径相对于 - "2.html")。此文件位于应用程序的根目录中。当我使用内置的Eclipse内部服务器Tomacat(Ran as - 在服务器上运行)启动项目时 - 一切正常,文件位于(路径是绝对的 - "F: /javaEEBelhard/Task-4/WebContent/WEB-INF/1.html")。

以下是Eclipse中的代码:

    try
    {
        FileInputStream fileIntputStream = new FileInputStream("2.html");
        InputStreamReader inputStreamReader = new InputStreamReader(fileIntputStream, CHARSET_NAME);
        BufferedReader reader = new BufferedReader(inputStreamReader);
        String line;
        while ((line = reader.readLine()) != null)
        {
            writer.println(line);
        }
    }
    catch (UnsupportedEncodingException e)
    {
        e.printStackTrace();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

如果部署战争 - 那就是你的问题。我打赌该文件不存在,因为它在WAR文件中。 (而文件api查看文件系统)

如果您需要可靠地阅读文件,请使用servletContext.getResource(path)servletContext.getResourceAsStream(path)

相关问题