今天遇到一个比较郁闷的问题:springmvc框架没法返回html页面,但是可以返回.jsp页面,百度找到的方法讲的不是很清楚,说明一下,web.xml文件中的
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
并没有与之对应的servlet.
现在将自己的解法贴一下,希望对大家有帮助,注意 ‘/’ 与 ‘/*’ 的区别,:
只需要改一下web.xml文件:
<servlet>
<servlet-name>wechat</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:resources/beans.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>wechat</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
spring的配置文件的其中一个bean如下:
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/html/"/>
<property name="suffix" value=".html"/>
</bean>
这样,web-inf下面的html文件就可以访问了。