首先,我的英语不好(我是越南人),对不起。
我是OpenShift的新手。我在https://bms-sps2.rhcloud.com/bms在OpenShift上托管了我的Java Web应用程序(Spring MVC Restful + AngularJS)。当我访问它时,OpenShift返回纯文本页面而不是html页面。但是当我在localhost上开发应用程序时,这个问题并没有发生。
以下是我的申请结构:
我的资源映射配置:
<mvc:resources mapping="/" location="/app/index.html/" cache-period="86400" />
在我的研究中,这个问题是因为
MIME类型映射:在提供静态资源时,Tomcat将自动生成&#34; Content-Type&#34;基于资源文件扩展名的标头,基于
web.xml
文件中的这些映射。
如何在不延长的情况下为文件添加mime-mapping?我尝试添加mime-mapping如下:
<mime-mapping>
<extension></extension>
<mime-type>text/html</mime-type>
</mime-mapping>
和
<mime-mapping>
<extension>*</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
和
<mime-mapping>
<extension></extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>*</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
但他们都没有成功。
更新:添加web.xml
<web-app>
<display-name>Business Management System</display-name>
<servlet>
<servlet-name>bms</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bms</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/root-context.xml
</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
有没有人可以帮我解决这个问题?
提前感谢您的帮助。
答案 0 :(得分:0)
我可以看到这个url https://bms-sps2.rhcloud.com/bms/index.html#/按预期工作(显示为html),但根上下文路径不起作用。我的建议是在web.xml中添加welcome-file-list,以便tomcat可以将页面作为html提供。
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index</welcome-file>
</welcome-file-list>