在一個成熟的Web系統上增加WebService接口,主要是查詢方面的應用。WebService作為一個比較火的技術,相關的概念介紹網上已經很多,這里不再贅述。我只舉個例子說明它的用途:假設你要從自己的網站上通過輸入名字查詢別人論壇上的用戶列表,假如你的網站沒有相關的資料及數據庫,那在原來是不可能的。而現在有了WebService,別人可以從他的論壇提供接口,只要你通過SOAP協議連接上接口。通過方法名及參數,就可以很輕松的獲取列表。換言之,WebService的作用就是使internet上的各個網站不再各自為戰,不再是孤島。
接下來說說我的開發過程。
開發工具是JBuilder2005,我想JBuilder的前幾個版本應該大同小異。
通過JBuilder導航條上的FileNew打開Object Gallery窗口,在窗口左邊選擇Web Services,接著在窗口右邊選擇Axis Web Services Server ConfiguRation,點擊OK,會出現如下所示界面:
這里是讓你選擇一個帶WEB-INF目錄的Web module,假如沒有這個目錄,則選擇New新建一個。我這里已經有了ROOT目錄。接下來點擊Next,勾選Create runtime……選擇Finish,至此WebService框架完成。JBuilder會自動生成一個Apache Axis toolkit頁面。
接下來建立類作為WebService接口,,例如我建立了一個WebService類:
import java.sql.*;
import java.util.*;
import org.jdom.*;
import com.hcinfo.egov.newui.DBConnection;
import javax.servlet.http.Httpsession;
import javax.xml.rpc.server.ServletEndpointContext;
import com.hcinfo.egov.webservice.*;
public class WebService {
DBConnection dBTool = new DBConnection();
Statement stmnt = dbtool.stmnt;
static Map userMap = new HashMap();
public String login(String userName, String userPassWord) throws SQLException {
String outXml = "<?xml version=/"1.0/" encoding=/"GB2312/"?>";
outXml += "<WebResponse>";
outXml += "<method>login</method>";
ResultSet rs = null;
String sql = "省略……";
rs = stmnt.executeQuery(sql);
if (rs.next()) {
RandomGUID rg = new RandomGUID();
String sesseionid = rg.toString();
String userID = rs.getString("id");
outXml += "<result><code>0</code><message>成功</message><userid>" + userID +
"</userid>";
outXml += "<sessionid>" + sesseionid +
"</sessionid></result></WebResponse>";
userMap.put(userID, sesseionid);
}
else {
outXml +=
"<result><code>1</code><message>登陸失敗,請檢查用戶名和密碼</message><userid></userid>";
outXml += "<sessionid></sessionid></result></WebResponse>";
}
return outXml;
}
新聞熱點
疑難解答