gpt4 book ai didi

java - MVC 和 Java 网页设计 : Model structure

转载 作者:行者123 更新时间:2023-11-30 11:28:49 26 4
gpt4 key购买 nike

美好的一天,我的情况如下:我正在使用 java 设计一个小型 web 系统,我在这个领域的知识非常有限(主要来自小型教程和 Head and First Servlets 和 JSP Book),结果为 produces以及关于如何做出良好(和高效)设计的无穷无尽的疑问,唯一 100% 清楚的是 MVC 是必须的(至少在我的情况下)。

看完这篇this我对系统应该如何完成有了一个大概的了解。如何实现 View 和 Controller (以及它们应如何通信)变得清晰。

现在,我的问题出在 MVC 模式的模型部分。这里要用到 Java Beans 和 DAO 类对吧?我的应用程序将主要有 CRUD 操作(整个系统只需要 2 - 3 个额外的数据操作)所以,我是否应该做 N(N 个我需要访问的表的数量)Java Bean 对象和 N DAO只有那些具有以下结构的 CRUD 操作的类?

Java Bean:

 public class TableJB{ 
// Table attributes with their respective getters and setters
}

道:

 public class TableJB{ 
public static void create(TableJB jb){}
public static TableJB read(int id){}
public static void update(TableJB jb){}
public static void delete(int id){}
public static List<TableJB> listAll(){}
}

我看到这个结构的问题是我将在这些方法中的每一个中进行连接管理(打开和关闭),在我看来这似乎是错误的(好像其他人应该处理这些)而且我还很远从确定这是否是更好的做法。另外我想知道我是否应该在将数据写入数据库之前重新验证数据,以防客户端验证因某种原因被禁用(例如:通过禁用 JavaScript)?

作为重要说明:我不允许在我的解决方案中使用任何框架(因此不能使用 Spring、Hibernate 等)。

最佳答案

首先,您必须在服务器端进行用户输入验证。正如您所说,可以禁用客户端 javascript,因此您不能完全依赖它。客户端验证应该被视为推荐的,但可选的,额外的。

对于您的业务模型和数据库模型,您最好将这两件事分开考虑。例如,我会考虑我所有的业务数据,然后遵循面向对象的设计原则并提出一个可靠的类图。作为一项单独的 Activity ,我将遵循数据规范化的原则并提出一个关系数据库模型 (ERD)。这两个数据模型可以(并且可能应该)看起来彼此不同。最后一步是将 DAO 层设计为两个数据模型之间的桥梁——它可能看起来像是两个模型的混合体。一旦我构建了这三个部分的粗略草稿,我就会继续迭代和改进。

通常,您将为每个 CRUD 操作打开和关闭数据库连接 - 使用数据库连接池解决性能问题 - http://wiki.metawerx.net/wiki/DatabaseConnectionAndPoolingQuestions

关于java - MVC 和 Java 网页设计 : Model structure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com