Java 来自JSP的DAO调用是否符合MVC模式?

Java 来自JSP的DAO调用是否符合MVC模式?,java,jsp,servlets,jakarta-ee,model-view-controller,Java,Jsp,Servlets,Jakarta Ee,Model View Controller,基本上这就是问题所在,下面是两个代码示例,用于比较JSP(1)和(2)中的DAO调用之间的差异,后者是扩展的和冗余的。当我问什么更好时,我指的是软件开发的质量 (1) 这条路对吗 JSP: DaoObject t = new DaoObject(); t.listObjects(); (2) 还是这是最好的 JSP: Object t = new Object(); t.listObjects(); Model: class Object { ... public ArrayList<

基本上这就是问题所在,下面是两个代码示例,用于比较JSP(1)和(2)中的DAO调用之间的差异,后者是扩展的和冗余的。当我问什么更好时,我指的是软件开发的质量

(1) 这条路对吗

JSP:
DaoObject t = new DaoObject();
t.listObjects();
(2) 还是这是最好的

JSP:
Object t = new Object();
t.listObjects();

Model:
class Object { ...
public ArrayList<Object> listObjects()
{
    DaoObject t = new DAOObject();
    return t.listObjects();    
} ... }
JSP:
对象t=新对象();
t、 listObjects();
型号:
类对象{。。。
公共ArrayList listObjects()
{
DAOBJECT t=新的DAOBJECT();
返回t.listObjects();
} ... }

从设计角度来看,解决方案(2)更好。DAO对象可能与表示对象(用户界面的模型)不同。它甚至可以由更多的DAO对象组成。

从JSP调用DAO是错误的做法, 根据MVC模式,您应该使用JSP作为视图,将有一个由getter和setter组成的模型,即JavaPOJO类。还有一个控制器——一个负责模型和视图之间通信的组件。

用户总是看到视图并与控制器通信。用户输入的值将从视图中提交,并设置为模型,该模型将由后端的控制器使用。

对于此类操作,必须使用JSTL函数。 对于jsp,正如前面的注释所解释的,它必须具有视图行为。 探索如何使用它,它是干净和简单的使用