几年后,我接触了Spring MVC。我尝试了this tutorial。本教程将尝试解释其所有工作原理。但是我无法清晰地勾勒出整个脑海的全景。因此,我尝试对自己进行以下猜测:
/welcome.jsp
WEB-INF/web.xml
中的以下摘录映射了压缩文件中的servlet条目:
<servlet-mapping>
<servlet-name>crunchify</servlet-name>
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/welcome.html</url-pattern>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
在web.xml中验证servlet条目:
<servlet>
<servlet-name>crunchify</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
这将调度DispatcherServlet
并在crunchify-servlet.xml
中搜索WEB-INF
。
crunchify-servlet.xml
具有component-scan
元素,可加载控制器
运行时环境(RE)使用带有注释@RequestMapping("/welcome")
的方法查找控制器:
@Controller
public class CrunchifyHelloWorld {
@RequestMapping("/welcome")
public ModelAndView helloWorld() {
String message = "This message is coming from CrunchifyHelloWorld.java";
return new ModelAndView("welcome", "message", message);
}
}
RE执行返回名称为ModelAndView
的{{1}}的方法。
welcome
中的viewResolver
将此crunchify-servlet.xml
映射到welcome
。此流程正确吗?