Java 理解spring mvc中的视图分辨率

Java 理解spring mvc中的视图分辨率,java,spring,spring-mvc,Java,Spring,Spring Mvc,我试图理解SpringMVC是如何生成标记的。例如,考虑简单的控制器: @Controller public class HelloController{ @RequestMapping("/hello") public String hello(){ return "hello"; } } 比如说,我们正在应用dispatcherservlet.xml中定义的UrlBasedViewResolver,如下所示: <bean id="viewRe

我试图理解SpringMVC是如何生成标记的。例如,考虑简单的控制器:

@Controller
public class HelloController{

    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}
比如说,我们正在应用
dispatcherservlet.xml
中定义的UrlBasedViewResolver,如下所示:

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="prefix" value="/WEB-INF/views/">
    <property name="suffix" value="jsp">
</bean>

解析器的作用是说我们有三个方法返回接口的实例。 第一个是

受保护的抽象URLBASEDVIEW构建视图(字符串视图名称)

二是

protectedview-createView(字符串视图名、区域设置)

第三是

受保护的视图加载视图(字符串视图名称、区域设置)

只要
View
接口具有方法
render(映射模型、HttpServletRequest、HttpServletResponse)
,我就假设一旦创建了视图实例,我们就调用此方法将标记呈现给客户机。但我不确定它是否真的那样起作用

一般来说,我的问题是什么方法获取a
jsp
-页面并返回要呈现给客户端的
视图的实例

一般来说,我的问题是什么方法获取jsp页面并返回要呈现给客户机的视图实例

UrlBasedViewResolver
的情况下,这将是
createView
方法,对于JSP,该方法将返回
InternalResourceView

就视图解析框架而言,
viewsolver
接口是入口点,它有一个方法
resolveViewName
,该方法采用视图名称(“示例中的hello”),并返回一个
view
对象,然后调用
render

buildView
createView
loadView
方法都是
UrlBasedViewResolver
实现的内部特定方法