【问题标题】:How do i design a document validation component in J2EE?如何在 J2EE 中设计文档验证组件?
【发布时间】:2014-01-13 06:07:54
【问题描述】:
我是一名 .NET 开发人员,必须在 Java-ee Web 应用程序中开发此组件:-
- 用户将选择一个文件
- 这将是 Excel 文件或 XML 文件
- 组件应检查文件是否具有预定义的结构。只有某些类型的文件需要验证。因此,对 XML 文档使用 XSD,对 Excel 文件使用一些结构定义。如果任何列名、大小、值范围、数据类型不匹配,则报告并中止。
- 然后根据一组验证规则验证文档。为此,我正在考虑构建一个 XML 文件/SQL 表,其中包含需要针对该文档运行以验证它的方法列表。报告所有异常,从这些方法中的每一个返回值。
- 当开发人员想到新的验证时,他们将向某个类添加一个方法,并在 XML/SQL 表中引用此方法,以便组件在运行时获取它们。
这是一个好的计划还是使用 Spring 或一些此类高级 J2EE 功能(我从未使用过但需要学习)更好?
谢谢。
【问题讨论】:
标签:
xml
spring
excel
validation
jakarta-ee
【解决方案1】:
如果始终检查所有评估规则(并且无需在不修改代码的情况下以动态方式(数据库)禁用某些规则,那么:
我不会为 (4) 和 (5) 使用数据库。相反,我会使用注释来标记验证器方法,并将元信息(例如错误消息)添加到此方法中。
如果您使用 spring,那么我将使用 bean 后处理器来实现它。或者,如果这需要大量工作,我将有一个验证器接口(并且每个实现类有一个验证规则)(验证器类必须是无状态的)。然后我会让这个类成为一个spring bean(如果你使用xml配置,你可以使用它们来启用/禁用规则)。然后可以让 spring 注入每个验证器@Autowire List<ValidatorInterface> validators;
【解决方案2】:
改为使用属性文件并将配置放在那里。读取代码中的属性并相应地用于验证。例如
allowed_filetype=xls,xml