2013-04-05 66 views
2

我在做一个web应用程序。它从SQL数据库获取数据。我在jsp中有一些代码来查询数据库,但是,该代码将会提供给用户 - 通过源代码 - 这不是一个好习惯,对吧?所以,我决定使用实体类 - bc,这就是netbeans似乎希望我做的事情。然而,“数据库中的实体类”向导不会为我创建类(它冻结),所以我使用自己构建类 - 这是非常非常困难的(至少对我而言...... )并且我还没有能够让课程上班。所以,问题是:我应该使用实体类还是其他?如果还有其他什么,冬眠?或.... ???? THX!持久性 - 实体类vs Hibernate框架vs其他

+0

你可以使用休眠或jpa – Biswajit 2013-04-05 18:51:42

+0

你可以给我想要一个在另一个场景? – 2013-04-05 18:56:16

+0

我已经给出答案。请确认 – Biswajit 2013-04-05 18:57:20

回答

0

JSP代码(意味着JSTL标签,scriptlet标签中的Java代码等)不可用于用户。在JSP中使用数据访问代码的主要反对意见是,在演示和业务逻辑以及数据访问细节全部交织在一起时,这是一个很大的混乱。如果你看到HTML中包含的查询发送到浏览器,那么我猜想这是一些有用的调试功能,你应该可以在某个地方关闭。

Hibernate包含用于从数据库生成实体类的工具,请参见this answer

另一种方法是使用Grails。我用它创建了应用程序,我必须创建具有映射到现有数据库的实体,这并不痛苦。再加上它会让你走上MVC分离的关注点。

+0

确定。如果您有index.jsp(用于审查),并且tyhere是该页面上的查询语句,则用户可以查看源代码并查看查询 – 2013-04-05 18:55:31

+0

@Patrick:这不是典型的。我不知道你在做什么来做到这一点。当然,我不会很多地使用Netbeans,也不知道它的向导是做什么的,你是否看到它包含为html注释? – 2013-04-05 18:57:14

+0

看到我的评论刺...我想要更多的方向... – 2013-04-05 19:06:26

0

我建议使用MVC框架。模型部分将从实体中获取数据,并使用hibernate或jpa来创建实体类。

+0

我在做Affable bean教程(netbeans)你熟悉吗?它在jsp中使用SQL,然后进入mvc然后进入实体类...但是,原始的sql工作正常,但它看起来不安全或不适合... – 2013-04-05 19:05:52

+0

你可以检查hibernate教程 – Biswajit 2013-04-05 19:07:16

1

实际上JSP文件的源代码对用户不可用。 JSP文件在Java类文件中编译,然后生成HTML,然后发送到用户的浏览器。用户唯一可以访问的是生成的HTML,即JSP页面的输出。简而言之:JavaScript对最终用户是可见的,Java源代码不是。

如果你想用netbeans构建实体类,我建议你从教程开始而不是自己的数据库,比如this one for netbeans 7.1

我最近做了一个使用实体类的项目,这些类是用jooq构建的,我对结果很满意。如果您不需要使用hibernat或JPA,则可能需要使用jooq。我发现它更简单,更容易处理。