• spring mvc使用@Controller返回的html视图


    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一样的,只是个文件后缀名而已,一句半句也说不清楚,感兴趣的朋友可以翻翻相关资料。

  • 相关阅读:
    python学习之argparse模块的使用
    pip pytorch安装时出现的问题
    ubuntu16.04中将python3设置为默认
    ubuntu复制文件或目录
    如何验证电脑的网卡是否可以正常使用
    《机器学习》西瓜书第六章支持向量机
    《机器学习》西瓜书第五章神经网络
    《机器学习》西瓜书第四章决策树
    《机器学习》西瓜书第三章线性模型笔记
    JavaScript笔记
  • 原文地址:https://www.cnblogs.com/front-end-develop/p/9228336.html
Copyright © 2020-2023  润新知