如何从tomcat提供静态内容

我有一个包含许多静态文件(* .png,* .css等)的目录。
我想(也许是错误的)只是在我的应用程序的WEB-INF文件中创建一个目录就足够了,我只能通过名称引用它们来访问这些文件:
例如:

 

我的目录结构如下:

 +WEB-INF | +---static | +--styles.css +--header.png 

我的web.xml如下

   myapp  contextConfigLocation classpath:com/example/myapp/spring/applicationContext.xml    org.springframework.web.context.ContextLoaderListener     com.example.myapp.ContextListener   <!-- There are three means to configure Wickets configuration mode and they are tested in the order given. 1) A system property: -Dwicket.configuration 2) servlet specific  3) context specific  The value might be either "development" (reloading when templates change) or "deployment". If no configuration is found, "development" is the default. -->  wicket.myapp org.apache.wicket.protocol.http.WicketFilter  applicationFactoryClassName org.apache.wicket.spring.SpringWebApplicationFactory    wicket.session org.apache.wicket.protocol.http.servlet.WicketSessionFilter  filterName wicket.myapp    wicket.myapp /*   wicket.session /servlet/*   

但….
这不起作用我只是在尝试访问“静态”目录中包含的资源时得到404文件。 这里有什么我想念的吗?

不要将它们放入WEB-INF,该文件夹用于您不想直接提供的内容。

把它放在WEB-INF旁边

 +- WEB-INF +- static 

这些文件不应该在WEB-INF中。 它们必须直接放在web应用程序目录或WAR文件中。

请查看我的答案,以便在静态资源之前包含上下文路径。

WEB-INF是受保护的目录。 它们必须放在顶级Web应用程序目录中或子目录中。