MVC1与MVC2有何不同?JSF是MVC2吗?一位面试官告诉我JSP就是MVC1。这是真的吗?
正确的术语是"模型1 MVC模式";以及";模型2 MVC模式";。
在Java术语中,Model 1MVC模式具有";视图";以及";控制器";在同一位置(例如,具有<jsp:useBean>
或scriptlets的单个JSP文件,或具有out.println()
编写HTML的单个servlet(。模型2 MVC模式将";视图";以及";控制器";身体上JSP/Facelets页面是视图,servlet是控制器。这允许多个视图使用单个控制器(根据前控制器模式(。请注意,如果没有模型(本质上是一个简单的Javabean类,它包含由控制器创建/操作并由视图呈现的数据(,那么也就没有MVC模式。
JSF无疑是Model2MVC。控制器是FacesServlet
。JSP可以是Model 1或Model 2,这取决于servlet作为前端控制器的存在,以及JSP文件在不首先调用控制器的情况下是不可访问/不可用的。我们的servlet wiki页面仅包含Model 2示例。
另请参阅:
- JSF MVC框架中的MVC是什么组件