Pergunta

In one of my servlets, I invoke RequestDispatcher.forward() call to a static resource somewhere under WEB-INF folder:

request
    .getRequestDispatcher( "/WEB-INF/some/path/image.gif" )
        .forward( request, response );

Navigating to this servlet works fine under Tomcat, Jetty et al., but does not work in WebSphere 7. The error I get (both in the browser and in the server logs) is

Error 403: SRVE0190E: File not found: /WEB-INF/some/path/image.gif

Initially I assumed that WebSphere may need some specific configuration to allow internal forwarding to resources under WEB-INF, but I failed to google anything useful.

Any ideas why can this happen?

Thanks in advance!

Foi útil?

Solução

It appears that one should set exposeWebInfOnDispatch property to true in order to make WEB-INF accessible for servlets in WebSphere. I got this answer from WebSphere forum.


In WebSphere 7 administration console,

  1. Go to "Servers" => "Server Types" => "WebSphere application servers" on the left
  2. Choose proper server on the list on the main part of the page
  3. Click on "Container Settings" => "Web Container Settings" => "Web container"
  4. Go to "Custom properties" on the right
  5. Add new property:

    • Name: exposeWebInfOnDispatch
    • Value: true

Outras dicas

You are getting HTTP 403, which means forbidden. Try moving out image.gif out of WEB-INF. That might work

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top