我正在开发一个JSP/Servlet Web应用程序(没有框架).我想使用MVC模式.我打算像这样设计我的项目:
问题: Index.jsp是我网站的起点(默认页面).因此,Index.jsp成为解析请求的控制器.例如,以下请求:
index.jsp?section=article&id=10
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
在这里,我不能强制servlet成为一个控制器,因为这index.jsp是控制器,因为它是起点.
是否有任何解决方案将请求转发index.jsp到servlet然后返回index.jsp?或任何实现MVC目标的解决方案- servlet应该是控制器?
我正在考虑将FrontPageController servlet作为默认页面而不是index.jsp,但我不知道它是否是一个完美的主意?