我的web.xml包含
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>
resources/index.html
</welcome-file>
</welcome-file-list>
</web-app>
资源/ index.html引用存储在 中的其他静态资源(如图像,js,css等)通过相对路径存储 目录。
当我在浏览器中放置http://localhost/MyProject/
时,它显示了index.html但没有得到css和javascripts。
但是,如果我将http://localhost/MyProject/resources/index.html
放在浏览器中,则所有内容都会正确显示。
所以,问题是如何将欢迎页面作为<welcome-file>
中给出的路径在网址中提供,例如: /resources/index.html。
如果无法在<welcome-file list>
中完成,我应该使用哪种其他可配置方法。
我倾向于不通过添加另一个html或通过在Servlet控制器中以编程方式执行来重定向到/resources/index.html。
答案 0 :(得分:1)
您似乎正在使用Spring并且遇到静态内容问题。
尝试查看此link
它解释了如何在这种情况下继续......
注意线:
<mvc:resources mapping="/resources/**" location="/resources/" />
它将您的资源文件夹(包含css,javascript和图像文件)映射到Spring的特殊处理程序。
更新
在servlet-context.xml文件中,您可以添加此行
<!-- Forwards requests to the "/" resource to the "welcome" view -->
<mvc:view-controller path="/" view-name="index"/>
<!-- Resolves view names to protected .html resources within the /WEB-INF/resources/ directory -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/resources/"/>
<property name="suffix" value=".html"/>
</bean>
表示您不必正确使用'index.jsp'。这样,您将视图映射到“/”访问。总而言之,用户输入“http://localhost/MyProject/”并查看index.html并查看css和javascripts的效果。
PS。: - 此配置仅适用于Spring 3+ - 首选将文件命名为“.jsp”而不是“.html”......映射更简单。