我正在開發一個JSP/Servlet Web應用程序(無框架)。我想使用MVC模式。我要設計我的項目是這樣的:如何使用MVC模式開發JSP/Servlets Web App?
- 控制器:一個servlet讀取請求,提取值,與模型對象進行通信,信息提供給JSP頁面。
- 查看:JSP頁面。
- 型號:Java類/ Java組件..等
問題: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>
在這裏,我不能強制servlet來是控制器,因爲index.jsp
是控制器因爲這是出發點。
是否有任何解決方案將請求從index.jsp
轉發到servlet,然後回到index.jsp
?或者任何能夠實現目標的解決方案 - servlet應該是控制器?
我想製作FrontPageController的servlet爲默認頁面,而不是的index.jsp的,但我不知道這是否是一個完美的主意?
Thanks @BalusC。你的意思是第一段我的網站的頭版應該是一個servlet,例如:/ default-servlet?當有人訪問我的網站並進入域xyz.com/時,我應該做些什麼來使「default-servlet」成爲默認頁面? – Abdullah 2010-04-05 00:52:06
如果你想要一個真正的'welcome-file',那麼你可以保留'索引。jsp',而是讓它轉發或重定向到所需的默認頁面。不幸的是,'welcome-file'不能成爲一個servlet。至少應該清楚這一點:您在JSP中編寫的控制器邏輯不屬於JSP。它屬於servlet。 – BalusC 2010-04-05 05:18:26