2009-09-07 33 views
0

在JSP頁面中,有這樣的代碼:爲什麼在這裏使用jsp:useBean而不是僅僅創建一個新的對象?

<jsp:useBean id="checklog" class="com.google.admin.guard.CheckLogBean" scope="session" /> 

然後

<% checklog.checkit(); %> 

爲什麼我們不只是創建new com.google.admin.guard.CheckLogBean的對象? 這樣做的好處是什麼?

而在源代碼中,沒有這樣的類,但是當我們將它部署到服務器時,它可以工作。似乎服務器可以將類傳遞給它?

謝謝。

回答

2

Jsp bean類(.class)必須放在WEB-INF/classes文件夾下,或者如果它們打包成.jar,則將.jar文件放入WEB-INF/libjsp:useBean是聲明性地和不同作用域(會話,請求,應用程序和頁面)實例化一個bean的操作。 Bean的另一個特性是內省的神奇 - Java管理這個小小的奇蹟,儘管一個叫做內省的過程允許一個類根據請求公開它的方法和功能。

JavaBeans Components in JSP Pages

內容:JavaBeans組件是Java類 可以容易地重複使用, 組成在一起成爲應用程序。 任何遵循特定 設計約定的Java類都可以是JavaBeans 組件。

1

The useBean construct is more concise。它允許較少使用腳本表達式(誰不討厭它們?)。

由於它依賴於一個標籤,而腳本表達式(用於初始化一個bean的實例)卻沒有這樣的事實,useBean結構與設計器的工具包(閱讀Dreamweaver等)很好地結合在一起。

相關問題