java客户端Web服务器连接到多个Web服务器

发布于 2024-12-15 02:27:33 字数 757 浏览 1 评论 0原文

我必须在 Ubuntu 11.10 32 位下使用 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/
  • localhost:8080/eng

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

I have to do an implementation for a class in the Java language by using Tomcat 7 and Axis2 under Ubuntu 11.10 32bit.

The requirement is to make a dynamic web-server project for simple registration, register and unregister course. Also, each faculty handle their courses and the student will be able to connect to all the courses in all the faculties.

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);
    }

}

This is only an example there is more functions of the web-server. Now I have to run the same implementation more than one time with the different name.

for example:

  • localhost:8080/art/
  • localhost:8080/eng

I've done all this and I can make a client for one server, but the problem now is that how I can make the web server client work with all this servers using only one stub??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鲜肉鲜肉永远不皱 2024-12-22 02:27:33

问题解决了。只需通过将 URL 从服务器更改为另一台服务器来修改存根即可。
我所做的是将构造函数

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

方法中的 url 添加到存根中,并将构造函数中的 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();
    }

}}

problem is solved. just modify the stub by changing the URL from server to another server.
what i did is add into the stub

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

and change the url in the constructor method from "loclhost:8080/art/......" to "loclhost:8080/"+serverID+"/......".

in the client.java I did

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();
    }

}}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文