top
Loading...
JSP頁面
下面我們來完成對Bean操作的JSP頁面。這些面頁代碼都很易懂,我不再做詳細的說明了,所有的頁面的工作與文件名一樣對數據庫中的數據進行add、list、delete、edit操作(代碼見附錄)。我們需要將這些jsp文件存入hdsitesrcjsp目錄中去。同時為用戶建立一個歡迎頁面index.html(見附錄),我們將這個html文件存入hdsitesrcweb目錄中。

這之后我們同樣需要改動web.xml文件來將web容器的框架告訴給orion,如下:
<EJB-REF>
<EJB-REF-NAME>ejb/AddressBook</EJB-REF-NAME>
<EJB-REF-TYPE>Entity</EJB-REF-TYPE>
<HOME>net.chinacode.addressbook.AddressBook</HOME>
<REMOTE>net.chinacode.addressbook.AddressEntry</REMOTE>
</EJB-REF>

<WELCOME-FILE-LIST>
<WELCOME-FILE>index.html</WELCOME-FILE>
</WELCOME-FILE-LIST>

我們把這段加入到web.xml中的web-app段中去。同時將原來我們做的servlet-mapping中的url-pattern指如/hello這樣的url。第一段是向web容器告知一個可以使用的Entity Bean的框架,以便jsp能夠得知EJB的結構。第二段則是設定默認的歡迎頁面的文件名為index.html。這樣服務器會先在目錄下尋找這個文件來返回給客戶。

還有最后一件事情,就是改動build.xml文件以方便ant來編譯系統,如果你希望成為一名好的j2ee開發人員,我更建議你來改動這個文件,這里由于篇幅限制不列出全部,只列出需要改動的web段:
<TARGET name="web-classes" depends="prepare">
<JAVAC srcdir="${src.dir}"
destdir="${lib.dir}/web/WEB-INF/classes"
includes="java/net/chinacode/web/**"
classpath="${lib.dir}/ejb:${orion.dir}/ejb.jar:${orion.dir}/jndi.jar:${orion.dir}/orion.jar" />;
</TARGET>

<TARGET name="jsp" depends="prepare">
<COPYDIR
</TARGET>

<TARGET name="html" depends="prepare">
dest="${lib.dir}/web" />


<COPYFILE <br src="${src.dir}/xml/web/web.xml"> dest="${lib.dir}/web/WEB-INF/web.xml" />;
</TARGET>

<TARGET name="web-war" depends="jsp,html,web-classes,web-web-inf">
<JAR
</TARGET>

更為詳細的可以見附錄。這之后,我們可以試著在hdsite目錄下運行ant了。運行完ant后我們再重新啟動一次orion,可以看到它的提示如下:

Auto-unpacking C:hdsiteelhelloejb.ear... done.
Auto-unpacking C:hdsiteelhelloejbhelloejb-web.war... done.
Auto-deploying helloejb-ejb.jar (Class 'net.chinacode.hello.Hello' had been updated)...
Auto-creating table: create table net_chinacode_addressbook_AddressEntry (name VARCHAR(255) not null primary key, address VARCHAR(255) null, city VARCHAR(255) null)
done.
Orion/1.3.8 initialized

真是太神奇了,orion為我們所想建好了數據庫(默認情況下它使用了內置的Hypersonic數據庫)。如果是在同一臺機器上,哪么你試試http://localhost/helloejb/ 就可以看到一個簡單的地址本工具了。再試試http://localhost/helloejb/hello 哪么訪問的就是從前的session bean的例子了。

我們完成了在orion下的兩個EJB例程的開發,希望大家能以此為起點進行J2EE的大家庭。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗