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>