如何在web.xml中将RPC服务注册为servlet

时间:2014-02-06 17:24:18

标签: java gwt servlets

我使用页面上提到的RPC教程在我现有的应用程序中创建了RPC服务 http://www.gwtproject.org/doc/latest/tutorial/RPC.html#services。我仍然得到404没有找到服务的例外。这就是我所做的。

  1. 在客户端创建服务接口。

    @RemoteServiceRelativePath("searchportoutorder")
    public interface SearchPortOutOrderService extends RemoteService {
            List<SearchPortOutOrderModel> fetchMoreRecords();
    }
    
  2. 在客户端上创建了asynce界面。

    public interface SearchPortOutOrderServiceAsync {
    
        void fetchMoreRecords(AsyncCallback<List<SearchPortOutOrderModel>> async);
    }
    
  3. 在包服务器下创建服务impl。

    public class SearchPortOutOrderServiceImpl extends RemoteServiceServlet implements SearchPortOutOrderService {
        List<SearchPortOutOrderModel> models = new ArrayList<SearchPortOutOrderModel>();
    
        private void initializeModel() {
                for(int i=0;i<10000;i++){
                        SearchPortOutOrderModel model = new SearchPortOutOrderModel();
                        model.setOrderId("1234-132131-12312-12312");
                        model.setCustomer("ashish testing");
                        model.setOrderDate("2014-12-25");
                        model.setLastUpdated("2014-02-15");
                        model.setStatus("Completed");
                        models.add(model);
                }
        }
    
        @Override public List<SearchPortOutOrderModel> fetchMoreRecords() {
                initializeModel();
                return models;
        }
    
  4. 更新web.xml文件以涉及servlet。

    <servlet>
        <servlet-name>searchPortOutOrderService</servlet-name>
        <servlet-class>com.inetwork.gwt.client.searchportoutorder.server.SearchPortOutOrderServiceImpl</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>searchPortOutOrderService</servlet-name>
        <url-pattern>/report/searchportoutorder</url-pattern>
    </servlet-mapping>
    
  5. 我仍然得到404异常,说找不到该服务。我是否需要修改我的代码中的任何其他内容,如.gwt.xml文件。

1 个答案:

答案 0 :(得分:0)

如果您的gwt模块名称不是报告

像这样修改* .gwt.xml。

<module rename-to='report'>

或将web.xml中的url-pattern替换为你的gwt-module-name。