Fiz um Servlet que responde a uma requisição GET e me retorna um arquivo pelo navegador. Segue trecho do código.
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Scanner sc = new Scanner(new File("C:\\Users\\fulano-dos-treco\\eclipse-workspace-EE\\faceGit\\arquivos\\svg_EDITADO_e_ANIMADO.svg"));
PrintWriter pw = response.getWriter();
response.setHeader("content-type", "image/svg+xml; charset=utf-8");
System.out.println("Imagem entregue para o usuario");
while (sc.hasNextLine()) {
pw.println(sc.nextLine());
}
sc.close();
pw.close();
}
Minha duvida é. No momento de definir o File() eu sou abrigado a colocar o caminho completo do arquivo "C:\Users\fulano-dos-treco\eclipse-workspace-EE\faceGit\arquivos\svg_EDITADO_e_ANIMADO.svg", quando coloco o caminho relativo "arquivos\svg_EDITADO_e_ANIMADO.svg" o programa não encontra o arquivo. Como posso resolver isso?
OBS: isso só acontece com os projetos que estão rodando dentro do servidor web.