Spring MVC 返回html等自定义后缀名 页面404错误解决

  1. First the DispatcherServlet is invoked by the Servlet Container.

  2. The DispatcherServlet finds a mapping which maps to the home method of your Controller and the home method returns a view name "HelloWorld"

  3. Now the DispatcherServlet uses a View Resolver (your InternalResourceViewResolver) to find the View to render the model through, since the name is "HelloWorld", this maps to the /WEB-INF/view/HelloWorld.html view.

  4. Now essentially a call is made to RequestDispatcher.forward("/WEB-INF/views/HelloWorld.html",....

  5. The Servlet container at this point tries to find the servlet which can handle /WEB-INF/views/HellowWorld.html uri - if it had been a .jsp there is a JSPServlet registered which can handle rendering the jsp, however for *.html there is no servlet registered, so the call ends up with the "default servlet", which is registered with a servlet-mapping of / which probably your DispatcherServlet is.

  6. Now the Dispatcher servlet does not find a controller to handle request for /WEB-INF/views/HelloWorld.html and hence the message that you are seeing


已经很清楚的告诉我们了即使你:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/WEB-INF/views/"/>

        <property name="suffix" value=".html"/>

    </bean>

这样配置了

但是你可爱的Web 容器并不知道,你到底要干嘛?解析的是个What.所以你需要在web中注册一下:

<servlet-mapping>

<servlet-name>jsp</servlet-name>

<url-pattern>*.html</url-pattern>

</servlet-mapping>


顺道说一句JSP不是和html一样的,只是个文件后缀名而已,一句半句也说不清楚,感兴趣的朋友可以翻翻相关资料。

转载于:https://my.oschina.net/jalorjava/blog/276499

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值