Я прикоснулся к Spring MVC через несколько лет.Я опробовал этот урок .Этот урок пытается объяснить, как все это работает.Но я не могу четко представить большую картину всего потока в моей голове.Поэтому я пытаюсь угадать все это на себе следующим образом:
- Запрос приходит
/welcome.jsp
Следующая выдержка в WEB-INF/web.xml
отображает запись сервлета curnchify в том же самомfile:
<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>
Crunchify запись сервлета в web.xml:
<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
in 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
с именем welcome
.
viewResolver
в crunchify-servlet.xml
отображает это welcome
на /WEB-INF/jsp/welcome.jsp
.
Является ли этот поток правильным?