Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在端口后的URL中使用应用程序名(就像我们在tomcat部署的应用程序中所做的那样)来调用GWT应用程序中的RESTWeb服务?_Java_Rest_Gwt - Fatal编程技术网

Java 如何在端口后的URL中使用应用程序名(就像我们在tomcat部署的应用程序中所做的那样)来调用GWT应用程序中的RESTWeb服务?

Java 如何在端口后的URL中使用应用程序名(就像我们在tomcat部署的应用程序中所做的那样)来调用GWT应用程序中的RESTWeb服务?,java,rest,gwt,Java,Rest,Gwt,我部署了一个GWT应用程序,并通过调用运行配置(运行->运行配置->Web应用程序->创建新配置->运行)来运行它。现在,此过程通常在以下URL上部署项目: 但是现在,我已经在我的项目中集成了RESTWeb服务,它有一个用于rest调用的URI,如下所示:/GWTSample/rest/hello 但当我将实际URL修改为:此URL不起作用 作为一个长期的解决方案,我必须编译我的项目并将其部署到Tomcat上,如下URL:,每次都需要10分钟以上的时间。 因此,如何在上对我的项目进行rest调用

我部署了一个GWT应用程序,并通过调用运行配置(运行->运行配置->Web应用程序->创建新配置->运行)来运行它。现在,此过程通常在以下URL上部署项目:

但是现在,我已经在我的项目中集成了RESTWeb服务,它有一个用于rest调用的URI,如下所示:/GWTSample/rest/hello

但当我将实际URL修改为:此URL不起作用

作为一个长期的解决方案,我必须编译我的项目并将其部署到Tomcat上,如下URL:,每次都需要10分钟以上的时间。
因此,如何在上对我的项目进行rest调用?

如果您的hostpage和rest servlet位于同一个web应用程序中,那么URL相对于web应用程序上下文是恒定的

显然,您的开发模式服务器使用根上下文
“/”
。因此,您的开发URL路径是
“/GWTSample.jsp”
“/rest/hello”
。但是您的外部Tomcat使用
“GWTSample”
作为上下文,这将导致主机页的URL路径为
“/GWTSample/GWTSample.jsp”
,rest服务的URL路径为
“/GWTSample/rest/hello”

要从GWT应用程序调用REST服务,您可以使用相对URL,或者在运行时在服务器端确定上下文路径(请参阅),并将此路径传递给GWT应用程序(例如,通过将其集成到主机页)


上下文本身是一个部署细节。当然,您也可以将Tomcat配置为使用根上下文。但是您的应用程序最好不要依赖它。

当GWTSample.jsp是您的GWT主机页时,为什么您希望REST服务使用相同的URL?您的REST服务是如何实现的?作为servlet?@vanje是的,我在库中添加了Jersey JAR,配置了web.xml以标识/rest/*并在其中添加了servlet映射,并创建了带有@path(“/hello”)的.java文件