龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

JBuilder+WebService之实战分析[图]

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
在一个成熟的Web系统上增加WebService接口,主要是查询方面的应用。WebService作为一个比较火的技术,相关的概念介绍网上已经很多,这里不再赘述。我只举个例子说明它的用途:假设你

  在一个成熟的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;
    }
  

  
  

精彩图集

赞助商链接