【发布时间】:2014-09-17 13:29:36
【问题描述】:
我正在使用 Tomcat 7 并希望提供一个简单的登录屏幕,然后将用户引导到基于 Spring MVC / EXT-JS 的门户。在 web.xml 中,我定义了对 spring 区域的访问,如下所示:
<servlet>
<servlet-name>portal-web</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/portal-web-servlet-app-ctx.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>portal-web</servlet-name>
<url-pattern>/portal/*</url-pattern>
</servlet-mapping>
这部分工作正常(到 /portal/* 的 URL 被正确定向)。但是,我的静态登录页面现在没有提供服务,并且 /index.html 和 /css/*.css 调用返回 404 错误。我尝试将以下内容添加到我的 web.xml:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
这确实让我可以访问 /index.html,但仍然无法访问 css 文件。
这是我的项目布局:
-src
-main
+extjs
+java
-resources
hibernate.cfg.xml
log4j2.xml
-webapp
-css
first.css
second.css
+WEB-INF
index.html
为什么tomcat不提供webapp/css下的静态文件?
谢谢!
【问题讨论】:
-
尝试将所有静态内容放在资源文件夹下。如果没有解决,请尝试以下解决方案:stackoverflow.com/questions/1483063/…
-
您也可以展示一下您的 Spring 配置吗?
-
谢谢@BatScream - 我的资源文件夹被用于其他东西,因为它在 webapp 目录之外,它不会被访问。按照您发布的链接,我认为我可以使用第二个资源目录来解决问题。我会发布对我有用的东西。感谢您的帮助!
-
@amite,很好用。:-)
标签: spring spring-mvc tomcat extjs web.xml