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