Access file in WebContent folder from a servlet

前端 未结 3 743
生来不讨喜
生来不讨喜 2021-02-06 04:56

I\'m trying to generate a PDF document using FOP. The pdf generation code is kept in a servlet and the xsl is in a specific folder in the WebContent folder.

How can I a

相关标签:
3条回答
  • 2021-02-06 05:46

    To get the path you can just do:

    String path = s.getServletContext().getRealPath("/WEB-INF/somedir/hdfeeh");         
    

    s is the class that implements HTTPServlet.You can also use this.getServletContext() if its your servlet class.

    Then pass this as a parameter.

    As far as using dynamically generated XML, the library you're using should support using an input stream, write your XML, convert it to a byte array, then wrap it in a ByteArrayInputStream and use this.

    0 讨论(0)
  • 2021-02-06 05:47

    For a direct and independent container implementation, you can access the resourcewith the following method getResource() inside your servlet:

    /start servlet/

    public InputStream getResource(String resourcePath) {
      ServletContext servletContext = getServletContext();
      InputStream openStream = servletContext.getResourceAsStream( resourcePath );
      return openStream;
    }
    
    public void testConsume() {
      String path = "WEB-INF/teste.log";
      InputStream openStream = getResource( path );
    
      int c = -1;
      byte[] bb = new byte[1024];
      while ( -1 != ( c = openStream.read( bb ) ) ) {
        /* consume stream */
      }
      openStream.close();
    }
    

    /end servlet/

    0 讨论(0)
  • 2021-02-06 05:53

    I used the following method to read the file under web content

    BufferedReader reader = new BufferedReader(new InputStreamReader(request.getSession().getServletContext().getResourceAsStream("/json/sampleJson.json")));
    

    Now all the file content is available in the reader object.

    0 讨论(0)
提交回复
热议问题