Java 我应该在数据库中存储HTML表单吗

Java 我应该在数据库中存储HTML表单吗,java,html,standards,standards-compliance,code-standards,Java,Html,Standards,Standards Compliance,Code Standards,我想知道将HTML内容存储在数据库中是否被认为是不好的做法,还是不安全 我希望在我的系统中实现几个表单,这些表单将具有不同的字段,并且可以定期更改。我想知道创建每个表单的唯一布局并将它们存储在数据库中是否是一种不好的做法。如果不入侵我们的数据库,用户将无法修改表单、向表单提交HTML或创建自己的表单。然后,在将数据提交到为每个表单创建的数据库表之前,我将获取用户提交的数据并验证其是否具有特殊字符。我的计划是循环遍历请求参数,提取键值对,然后将经过验证的列表发送到存储过程或准备好的语句。字段名将与

我想知道将HTML内容存储在数据库中是否被认为是不好的做法,还是不安全

我希望在我的系统中实现几个表单,这些表单将具有不同的字段,并且可以定期更改。我想知道创建每个表单的唯一布局并将它们存储在数据库中是否是一种不好的做法。如果不入侵我们的数据库,用户将无法修改表单、向表单提交HTML或创建自己的表单。然后,在将数据提交到为每个表单创建的数据库表之前,我将获取用户提交的数据并验证其是否具有特殊字符。我的计划是循环遍历请求参数,提取键值对,然后将经过验证的列表发送到存储过程或准备好的语句。字段名将与数据库中的列名具有相同或相似的名称。为了确保我有正确的顺序,我会将信息存储在地图中,这样我就不需要希望信息不会以某种方式四处移动

HTML页面将与从客户端提交数据所需的SQL一起存储在数据库中的clob中。我可能只存储数据需要提交到的表名,并围绕它构建语句

例如:

String tableName = "Form1"; //pulled from the database
String sqlLayout = "INSERT INTO ? ("+/*dynamically generated ? based on MAP keys*/+ ") VALUES ("+ /*dynamically generated ? based on MAP values*/ +")";
//Then proceed to fill in ? in the standard prepared statement way.
要将clob加载到客户机页面,我将在JSP中的div上使用jQuery的.load()


我使用的JavaEE应用程序每年只发布一次。

主要关注的是维护。如果更改数据库列,则必须编辑存储表单和相应SQL代码的数据库记录的内容

黑客不是问题所在。如何将表单呈现到页面中并不重要。最终还是HTML代码


我会将其存储为文本文件、html片段或doveyg提到的JSON文件。

除此之外,每个表单都需要处理。数据库中的每一项更改都需要在JavaEE应用程序上重新编程。或者,您可以使用JSON文件。它的重量要轻得多,因为您不希望对其进行大量更改。@doveyg将存储在数据库中的表单会有很大的不同,以至于表单之间的布局不会保持不变。一旦文件上传到数据库,就不应该经常更改。只要所需字段仍然存在,对数据库的更改不会提示对表单的更改。我试图以一种类似于实体Bean的方式创建每个表单,因为名称映射到数据库“文件”中的列?尽管如此,我认为将有许多未使用的字段是不好的做法。因为预期的表单名称是数据库列的代表,SQL是动态生成的,SQL代码真的会改变吗?我可以看到维护是一个问题,但是如果表单变化太多,表单会不会变成一个新表单?或者,如果每个表单的变化很小,难道不会有丢失的信息,这些信息可以在以后编辑,或者在向用户呈现内容时由系统处理吗?因此,如果需要,会自动添加新字段吗?假设数据库是关系数据库,您将如何确定列需要进入哪个表?也许我没有完全理解客户的要求,是否要求客户能够动态更改表单?