此处找到原始的,不太详细的问题:Cannot figure out why I cannot deploy GWT application onto Apache Tomcat 7。在我写这篇文章的时候,我决定再试一次,但是这次它工作了,示例应用程序中的servlet似乎不起作用。它说"远程过程调用失败"单击按钮时。这是我采取的步骤列表。
以下是我尝试将示例应用程序部署到Apache Tomcat 7时所做的事情列表。
设置环境
获取示例项目
部署
但是,现在我的问题是服务器端代码似乎不起作用。
localhost_access_log的内容
127.0.0.1 - - [18 / Apr / 2013:21:03:43 -0700]" GET /SampleApp/SampleApp.html HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:43 -0700]" GET /SampleApp/SampleApp.css HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:43 -0700]" GET /SampleApp/sampleapp/sampleapp.nocache.js HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:43 -0700]" GET /SampleApp/sampleapp/gwt/clean/clean.css HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:43 -0700]" GET /SampleApp/sampleapp/gwt/clean/images/hborder.png HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:44 -0700]" POST / SampleApp / sampleapp / greet HTTP / 1.1" 500 2773 127.0.0.1 - - [18 / Apr / 2013:21:03:44 -0700]" GET /SampleApp/sampleapp/gwt/clean/images/circles.png HTTP / 1.1" 304 - 127.0.0.1 - - [18 / Apr / 2013:21:03:44 -0700]" GET /SampleApp/sampleapp/gwt/clean/images/vborder.png HTTP / 1.1" 304 -
localhost.2013-04-18的内容
2013年4月18日下午8:02:05 org.apache.catalina.core.ApplicationContext log INFO:ContextListener:contextInitialized()2013年4月18日8:02:05 PM org.apache.catalina.core.ApplicationContext log INFO: SessionListener:contextInitialized()2013年4月18日下午8:02:05 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: attributeAdded(' org.apache.jasper.compiler.TldLocationsCache&#39 ;, ' org.apache.jasper.compiler.TldLocationsCache@dc0435')2013年4月18日 8:02:16 PM org.apache.catalina.core.ApplicationContext log INFO: ContextListener:contextInitialized()2013年4月18日下午8:02:16 org.apache.catalina.core.ApplicationContext log INFO:SessionListener: contextInitialized()2013年4月18日下午8:02:16 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: attributeAdded(' org.apache.jasper.compiler.TldLocationsCache&#39 ;, ' org.apache.jasper.compiler.TldLocationsCache@113e9fd')2013年4月18日 8:02:16 PM org.apache.catalina.core.ApplicationContext log INFO: SessionListener:contextDestroyed()2013年4月18日下午8:02:16 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: contextDestroyed()2013年4月18日下午8:29:48 org.apache.catalina.core.ApplicationContext log INFO:SessionListener: contextDestroyed()2013年4月18日下午8:29:48 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: contextDestroyed()2013年4月18日晚上8:30:00 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: contextInitialized()2013年4月18日晚上8:30:00 org.apache.catalina.core.ApplicationContext log INFO:SessionListener: contextInitialized()2013年4月18日晚上8:30:00 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: attributeAdded(' org.apache.jasper.compiler.TldLocationsCache&#39 ;, ' org.apache.jasper.compiler.TldLocationsCache@180cb01')2013年4月18日 下午9:03:36 org.apache.catalina.core.ApplicationContext log INFO: SessionListener:contextDestroyed()2013年4月18日下午9:03:36 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: contextDestroyed()2013年4月18日下午9:03:41 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: contextInitialized()2013年4月18日下午9:03:41 org.apache.catalina.core.ApplicationContext log INFO:SessionListener: contextInitialized()2013年4月18日下午9:03:41 org.apache.catalina.core.ApplicationContext log INFO:ContextListener: attributeAdded(' org.apache.jasper.compiler.TldLocationsCache&#39 ;, ' org.apache.jasper.compiler.TldLocationsCache@18600d6')
GreetingService.java
package com.sample.client;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
/**
* The client side stub for the RPC service.
*/
@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService {
String greetServer(String name) throws IllegalArgumentException;
}
/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.sample.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/sampleapp/greet</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>SampleApp.html</welcome-file>
</welcome-file-list>
</web-app>
我在通过eclipse生成项目后改变了注意事项。
由于我仍在尝试解决这个问题,因此可能与Java 1.6和1.7 SDK以及tomcat与它们交互的方式有关
答案 0 :(得分:0)
尝试使用GWT编译您的示例应用程序 - 编译并将项目的war目录的内容复制到tomcat / webapps / sample。之后检查你在网址的应用
http://localhost:8080/example
答案 1 :(得分:0)
path
的问题。
@RemoteServiceRelativePath("sampleapp/greet");
or
@RemoteServiceRelativePath("../greet");