JSP與ASP非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在ASP或JSP 環(huán)境下,HTML代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。ASP下的編程語言是 VBScript 之類的腳本語言,而JSP 使用的是Java。
TRS及其JavaBeans
TRS系統(tǒng)是國際上第一個采用“并行計算”算法的中文全文檢索系統(tǒng),其全文檢索引擎可以提供關(guān)系型數(shù)據(jù)庫所沒有的性能,并可與關(guān)系數(shù)據(jù)庫協(xié)同使用;因為TRS可對文本內(nèi)容建立全文索引,提供高效的全文檢索功能。所以使用TRS可以大大提高網(wǎng)站的查詢速度。
TRS JavaBeans是基于Java組件技術(shù)——JavaBeans開發(fā)的,具有良好的跨平臺特性。本文將介紹利用JSP、TRS及JavaBeans建立一個Web的過程。
TRS JavaBeans配置步驟
以NT下WebLogic5.1.0為例說明。
1.安裝WebLogic5.1.0
2.修改startWebLogic.cmd
將“set PRE_CLASSPATH=”改為“set PRE_CLASSPATH=%TRSBean.jar的全路徑%;%TRSDemo.jar的全路徑%”。
例如:如果TRSBean.jar位于C:\TRSJavaBeans\lib\目錄下,則將此語句改為:
set PRE_CLASSPATH=C:\TRSJavaBeans\lib\TRSBean.jar
3.修改weblogic.properties
將語句:#weblogic.httpd.register.servlets=weblogic.servlet.ServletServlet前面的#號去掉。
將下列語句前的“#”號去掉:
# weblogic.httpd.register.*.jsp=\
# weblogic.servlet.JSPServlet
#weblogic.httpd.initArgs.*.jsp=\
# pageCheckSeconds=1,\
# compileCommand=C:/java/bin/javac.exe,\
# workingDir=D:/weblogic/myserver/classfiles,\
# verbose=true
接著將“compileCommand=C:/java/bin/ javac.exe,\”改為“compileCommand=JAVA_ PATH/bin/javac.exe,\”,其中JAVA_PATH為實際所用JDK的安裝根目錄?! ?
4.安裝DEMO
將TRSJavaBeans安裝包的DEMO目錄全部復(fù)制到D:/weblogic/myserver/public_html目錄下。
完成以上配置后,我們即可進(jìn)入設(shè)計開發(fā)階段。
開發(fā)示例
設(shè)數(shù)據(jù)庫為:“news.投資動態(tài)”,字段為“標(biāo)題”、“內(nèi)容”、“日期”和“編號”(惟一性字段)。
以顯示某一條具體記錄的詳細(xì)內(nèi)容為例,至于分頁顯示、全文檢索和BBS等,篇幅所限,不再贅述,感興趣的用戶可以自己試一試。實際運(yùn)行結(jié)果可以參看易信網(wǎng)(www.exin.net)或北京投資平臺(www.bjinvest.gov.cn)。
jsp程序如下:
?。ㄎ赐辏?br>
<%@ page import="com.eprobiti.TRS.*"%>
<%@ page import="java.util.*"%>
<%
String item_id=request.getParameter("id");
//參數(shù)id由URL或者前一個文件的表單隱藏域傳過來
String dbname,ip,port,username,password;
dbname="news.北京新聞";
//TRS數(shù)據(jù)庫名字
ip="202.123.166.99"; //TRS服務(wù)器IP
port="8888";//TRS服務(wù)器端口
username="yourname";
// 可以檢索"news.北京新聞"的用戶名
password="yourpassword";
// 該用戶名對應(yīng)的口令
String filter="編號="+item_id;
//定義檢索條件
try {
if (TRSConn.connect(ip,port,username,password)){ }
//建立與TRS服務(wù)器的連接
else {
out.println("Connection 連接失敗!\n");
}
TRSRS=TRSConn.executeSelect(dbname,s1,"","", null, 0, 0, false);
// 執(zhí)行查詢操作,生成記錄集
} catch(TRSException TRSe) {
out.println("ResultSet 連接失??!\n");
}
try {
TRSRS.moveFirst();
//記錄定位
%>
<%=TRSRS.getString("標(biāo)題")%>
|
<%=TRSRS.getString("日期")%>
|
<%=TRSRS.getString("內(nèi)容")%>
|
<%
TRSRS.close();
} catch(TRSException TRSe) {}
%>
(完)