Я занимаюсь разработкой веб-приложения JSP / Servlet (без фреймворков). Я хочу использовать шаблон MVC . Я собираюсь разработать свой проект так:
- Контроллер : сервлет, который читает запрос, извлекает значения, связывается с объектами модели и передает информацию на страницу JSP.
- Просмотр : JSP Pages.
- Модель : Java-классы / Java Beans .. и т. Д.
Проблема: Index.jsp
является отправной точкой (страница по умолчанию) на моем веб-сайте. Таким образом, Index.jsp
становится контроллером для анализа запроса. Например, следующий запрос:
index.jsp?section=article&id=10
анализируется в index.jsp следующим образом:
<div class="midcol">
<!-- Which section? -->
<%String fileName = request.getParameter("section");
if (fileName == null) {
fileName = "WEB-INF/jspf/frontpage.jsp";
} else {
fileName = "WEB-INF/jspf/" + fileName + ".jsp";
}
%>
<jsp:include page='<%= fileName%>' />
</div>
Здесь я не могу заставить сервлет быть контроллером, потому что index.jsp
- это контроллер здесь, поскольку он является отправной точкой.
Есть ли решение переслать запрос от index.jsp
сервлету, а затем вернуться к index.jsp
? Или любое решение, которое достигает цели MVC - сервлет должен быть контроллером?
Я думаю о создании сервлета FrontPageController в качестве страницы по умолчанию вместо index.jsp , но я не знаю, является ли это идеальной идеей?