【问题标题】:java client web-server connect to multi web-serverjava客户端网络服务器连接到多个网络服务器
【发布时间】:2011-12-26 20:41:13
【问题描述】:

我必须在 Ubuntu 11.10 32bit 下使用 Tomcat 7 和 Axis2 用 Ja​​va 语言实现一个类。

要求制作一个动态的网络服务器项目,用于简单的注册、注册和注销课程。此外,每个学院都处理他们的课程,学生将能够连接到所有学院的所有课程。

serverImp.java

class serverImp{
    HashMap<String,Intager> courses;
    public String register(String courseID){
        int tmp=courses.get(coursesID);
        courses.add(coursesID,tmp-1);
    }

    public String register(String courseID){
        int tmp=courses.get(coursesID);
        courses.add(coursesID,tmp+1);
    }

}

这只是一个例子,还有更多的网络服务器功能。现在我必须使用不同的名称多次运行相同的实现。

例如:

  • localhost:8080/art/
  • 本地主机:8080/eng​​li>

我已经完成了这一切,我可以为一台服务器创建一个客户端,但现在的问题是 我如何才能使 Web 服务器客户端仅使用一个存根与所有这些服务器一起工作??

【问题讨论】:

  • 之类的,它是一个课程项目。这是项目的一部分

标签: java tomcat webserver axis2 stub


【解决方案1】:

问题解决了。只需通过将 URL 从服务器更改为另一台服务器来修改存根。
我所做的是添加到存根中

private static String serverID;
public static void setServer(String name){
    serverID=name;
}

并将构造方法中的url从 "loclhost:8080/art/......" 更改为 "loclhost:8080/"+serverID+"/... ...”.


在我做的client.java中

public class client {
private static ServerStub stub;
public static void main(String[] args) {
    try {
        stub.setServer("Art");
        stub= new ServerStub();
        Register reg= new Hello();
        reg.setName("Art101");
        RegisterResponse replay= stub.register(reg);
        System.out.println(replay.get_return());

        stub.setServer("Eng");
        stub= new ServerStub();
        Register reg= new Hello();
        reg.setName("com201");
        RegisterResponse replay= stub.register(reg);
        System.out.println(replay.get_return());            
    } catch (AxisFault e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}}

【讨论】:

    最近更新 更多