Javaservlet只返回一个值

Javaservlet只返回一个值,java,servlets,Java,Servlets,我已经创建了一个Javaservlet,它从我的Web服务调用方法。这个方法很好用,我已经测试过了。但我的问题在Servlet方面 我从服务器客户端拖放该方法并修改了abit。下面是我目前的代码 private ArrayList<String> search(java.lang.String shopName) throws ClassNotFoundException_Exception { // Note that the injected javax.xml.ws.S

我已经创建了一个Javaservlet,它从我的Web服务调用方法。这个方法很好用,我已经测试过了。但我的问题在Servlet方面

我从服务器客户端拖放该方法并修改了abit。下面是我目前的代码

private ArrayList<String> search(java.lang.String shopName) throws ClassNotFoundException_Exception {
    // Note that the injected javax.xml.ws.Service reference as well as port objects are not thread safe.
    // If the calling of port operations may lead to race condition some synchronization is required.
    webservices.WebServices port = service.getWebServicesPort();

    ArrayList<String> shops = new ArrayList<String>();

    shops.add(port.search(shopName));

    System.out.println(port.search(shopName));

    return shops;
}
私有ArrayList搜索(java.lang.String shopName)抛出ClassNotFoundException\u异常{
//请注意,注入的javax.xml.ws.Service引用以及端口对象不是线程安全的。
//如果调用端口操作可能导致竞争条件,则需要进行一些同步。
webservices.webservices端口=service.getWebServicesPort();
ArrayList shops=新的ArrayList();
shops.add(port.search(shopName));
System.out.println(port.search(shopName));
退货店;
}
我现在遇到的问题是,它只返回一个值,它是最后一个值,但实际输出有多个值。我已经测试了我的Web服务方法,它返回执行查询的所有结果,但在这个Servlet中它返回最后一个结果。如何让它从开始到结束都有价值?

我想你需要


ArrayList#add
方法只能向
ArrayList
添加一个元素。请澄清你的问题。我想你是对的。我来看看。仅介绍了
ArrayList
注意
addAll()
接受
集合。所以OP正在做的或者你建议的都会抛出一个编译器错误。我弄错了。你会在谷歌上搜索如何使用
addAll()
的信息吗。谢谢你的介绍。
shops.addAll(port.search(shopName));