2013-04-05 40 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。我發現它更簡單,更容易處理。