是JSF MVC2以及MVC1和MVC2如何不同

时间:2013-02-22 13:14:22

标签: model-view-controller jsf

MVC1与MVC2有何不同?是JSF MVC2吗?一位采访者告诉我,JSP是MVC1。这是真的吗?

1 个答案:

答案 0 :(得分:2)

正确的字词为"Model 1 MVC pattern""Model 2 MVC pattern"

在Java术语中,模型1 MVC模式在同一位置具有“视图”和“控制器”(例如,具有<jsp:useBean> scriptlet 的单个JSP文件,或单个servlet用out.println()编写HTML)。 Model 2 MVC模式在物理上分离“视图”和“控制器”。 JSP / Facelets页面是视图,servlet是控制器。这允许多个视图使用单个控制器(根据front controller pattern)。请注意,当没有模型的方法时(本质上是一个简单的Javabean类,它保存由控制器创建/操作并由视图显示的数据),那么也没有MVC模式的方法。

JSF绝对是Model 2 MVC。控制器是FacesServlet。 JSP可以是模型1或模型2,具体取决于作为前端控制器的servlet的存在,并且JSP文件不可访问/不可用而不首先调用控制器。 Our servlets wiki page仅包含模型2示例。

另见: