веб-сервер java-клиента подключается к мульти-веб-серверу - PullRequest
0 голосов
/ 11 ноября 2011

Я должен сделать реализацию для класса на языке Java, используя Tomcat 7 и Axis2 под Ubuntu 11.10 32bit.

Требуется создать динамический проект веб-сервера для простой регистрации, регистрации и отмены регистрации курса. Кроме того, каждый факультет управляет своими курсами, и студент сможет подключиться ко всем курсам на всех факультетах.

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

}

Это всего лишь пример, есть еще функции веб-сервера. Теперь мне нужно запускать одну и ту же реализацию более одного раза с другим именем.

например:

  • локальный: 8080 / искусство /
  • локальный: 8080 / анг

Я сделал все это, и я могу сделать клиент для одного сервера, но проблема сейчас в том, что как я могу заставить клиента веб-сервера работать со всеми этими серверами, используя только одну заглушку?

1 Ответ

0 голосов
/ 12 ноября 2011

проблема решена.просто измените заглушку, изменив URL с сервера на другой сервер.
Что я сделал, это добавил в заглушку

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

и измените URL в методе конструктора с "loclhost: 8080/art/......" to "loclhost: 8080 /" + serverID + "/ ......" .


в клиенте.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();
    }

}}
...