JSP 與ASP非常相似。兩者都提供在HTML 代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。在ASP或JSP 環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。ASP下的編程語言是 VBScript 之類的腳本語言,而JSP 使用的是Java。
TRS及其JavaBeans
TRS系統是國際上第一個采用“並行計算”算法的中文全文檢索系統,其全文檢索引擎可以提供關系型數據庫所沒有的性能,並可與關系數據庫協同使用;因為TRS可對文本內容建立全文索引,提供高效的全文檢索功能。所以使用TRS可以大大提高網站的查詢速度。
TRS JavaBeans是基於Java組件技術——JavaBeans開發的,具有良好的跨平台特性。本文將介紹利用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:TRSJavaBeanslib目錄下,則將此語句改為:
set PRE_CLASSPATH=C:TRSJavaBeanslibTRSBean.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目錄全部復制到D:/weblogic/myserver/public_html目錄下。
完成以上配置後,我們即可進入設計開發階段。
開發示例
設數據庫為:“news.投資動態”,字段為“標題”、“內容”、“日期”和“編號”(惟一性字段)。
以顯示某一條具體記錄的詳細內容為例,至於分頁顯示、全文檢索和BBS等,篇幅所限,不再贅述,感興趣的用戶可以自己試一試。實際運行結果可以參看易信網(www.exin.net)或北京投資平台(www.bjinvest.gov.cn)。
jsp程序如下:
<HTML>
<HEAD>
<TITLE>新聞</TITLE>
<link REL="stylesheet" href="mycss.css"TYPE="text/css">
<META content="text/html; charset=GB2312"http-equiv=Content-Type>
<%@ page import="com.eprobiti.TRS.*"%>
<%@ page import="java.util.*"%>
<jsp:useBean id="TRSConn"scope ="session" class="com.eprobiti.TRS.TRSConnection"/>
<jsp:useBean id="TRSRS"scope ="page" class="com.eprobiti.TRS.TRSResultSet"/>
</HEAD>
<BODY>
<%
String item_id = request.getParameter("id");
//參數id由URL或者前一個文件的表單隱藏域傳過來
String dbname,ip,port,username,password;
dbname = "news.北京新聞";
//TRS數據庫名字
ip="202.123.166.99"; //TRS服務器IP
port="8888";//TRS服務器端口
username="yourname";
// 可以檢索"news.北京新聞"的用戶名
password="yourpassword";
// 該用戶名對應的口令
String filter = "編號="+item_id;
//定義檢索條件
try {
if (TRSConn.connect(ip,port,username,password)){ }
//建立與TRS服務器的連接
else {
out.println("Connection 連接失敗!n");
}
TRSRS = TRSConn.executeSelect(dbname,s1,"","", null, 0, 0, false);
// 執行查詢操作,生成記錄集
} catch(TRSException TRSe) {
out.println("ResultSet 連接失敗!n");
}
try {
TRSRS.moveFirst();
//記錄定位
%>
<p>
<center>
<table width=80%>
<tr align=center>
<td><%=TRSRS.getString("標題")%>
</td>
</tr>
<tr align=center>
<td><%=TRSRS.getString("日期")%>
</td>
</tr>
<tr>
<td><%=TRSRS.getString("內容")%>
</td>
</tr>
</table>
</center>
<p>
<%
TRSRS.close();
} catch(TRSException TRSe) {}
%>
</body>
</html>