在将Spring-MVC应用程序部署到Tomcat服务器时,我遇到了一个问题:服务器继续使用application/x-octet-stream
作为响应类型。因此,浏览器不显示页面,而是提供下载页面。
该网站在本地Tomcat服务器上按预期工作 - 可能是一个具有不同的默认设置?
网址类似于以下网址:http://www.example.org/mysite/search
我的web.xml(部分):
<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>
和servlet-context.xml:
<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
<beans:property name="cache" value="true" />
<beans:property name="prefix" value="" />
<beans:property name="suffix" value=".vm" />
</beans:bean>
<beans:bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<beans:property name="resourceLoaderPath" value="/WEB-INF/views/" />
</beans:bean>
<context:component-scan base-package="org.example.website" />
如何在项目中将默认MIME类型更改为text/html
,以便它可以在没有其他配置的情况下在所有服务器上运行?
答案 0 :(得分:1)
配置viewResolver
bean时尝试调用VelocityLayoutViewResolver.setContentType:
<beans:property name="contentType" value="text/html" />