java - 如何在外部服务器上启动 gwt-project,例如 Tomcat ?

标签 java tomcat gwt

我在 eclipse 上使用 gwt-plugin 在本地主机上部署了我的 gwt 项目。一切正常。但是当我尝试在外部(从 tomcat)启动应用程序时,它无法正常工作。我将 war 内容放入 webaaps 文件夹中。 gwt 的客户端运行良好,但与服务器端的连接存在问题。

来自日志的可能错误:

127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/ HTTP/1.1" 200 2954
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/buggitgwt.nocache.js HTTP/1.1" 200 6004
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/loading4.gif HTTP/1.1" 200 2164
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/BugGitGwt.css HTTP/1.1" 200 708
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/gwt/clean/clean.css HTTP/1.1" 200 29325
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/0B29E478EEA6D0F7C8617BCA1D490240.cache.html HTTP/1.1" 200 161530
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "POST /BugGitGwt/buggitgwt/greet HTTP/1.1" 500 2820
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "POST /BugGitGwt/buggitgwt/greet HTTP/1.1" 500 2820
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "POST /BugGitGwt/buggitgwt/greet HTTP/1.1" 500 2820
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/gwt/clean/images/hborder.png HTTP/1.1" 200 1995
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/gwt/clean/images/circles.png HTTP/1.1" 200 1492
127.0.0.1 - - [07/Mar/2014:17:31:36 +0400] "GET /BugGitGwt/buggitgwt/gwt/clean/images/vborder.png HTTP/1.1" 200 298

或者这个:

INFO: The APR based Apache Tomcat Native library which allows optimal performance in 
production environments was not found on the 
java.library.path: C:\Program Files (x86)\Java\jdk1.6.0_45\bin;
C:\Windows\Sun\Java\bin;
C:\Windows\system32;
C:\Windows;C:\Program Files (x86)\Intel\iCLS Client\;
C:\Program Files\Intel\iCLS Client\;
C:\Program Files (x86)\AMD APP\bin\x86_64;
C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT; 
C:\Program Files (x86)\Java\jdk1.6.0_45\bin;
C:\apache-maven-3.1.1\bin;
C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.6\;
C:\apache-ant-1.9.3\bin;
C:\Program Files (x86)\Java\jdk1.6.0_45\bin;
C:\Program Files (x86)\Git\bin; 
C:\Program Files (x86)\Git\cmd;;.

或者这个:

INFO: JSR 356 WebSocket (Java WebSocket 1.0) support is not available 
when running on Java 6. To suppress this message, run Tomcat on Java 7, 
remove the WebSocket JARs from $CATALINA_HOME/lib or add 
the WebSocketJARs to thetomcat.util.scan.DefaultJarScanner.jarsToSkip property in 
$CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 
WebSocket API will be available. 

网络.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>ru.sersem.buggitgwt.server.DataProviderServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>greetServlet</servlet-name>
    <url-pattern>/buggitgwt/greet</url-pattern>
  </servlet-mapping>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>BugGitGwt.html</welcome-file>
  </welcome-file-list>

</web-app>

服务:

@RemoteServiceRelativePath("greet")
public interface DataProviderService extends RemoteService {
    List<List<String>> getDatabaseData(String call);
}

最佳答案

从外部服务器运行 GWT 项目的步骤。

  • 打开命令窗口
  • 导航到包含以下内容的 war 文件夹:

    war
    |
    |__GWTTestProject.html
    |__GWTTestProject.css
    |__gwttestproject folder
    |  |
    |  |__compiled js files and html files generated by GWT compilation
    |
    |__WEB-INF folder
       |
       |__classes
       |__deploy
       |__lib
       |__web.xml
    
  • 使用命令提示符执行以下命令以创建 war 文件

     jar -cf gwtproject.war *
    
  • 复制tomcat webapps下的gwtproject.war
  • 启动服务器

请在以下文件中再次检查:

web.xml:

  <servlet>
    <servlet-name>greetServlet</servlet-name>
    <servlet-class>com.gwt.test.server.GreetingServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>greetServlet</servlet-name>
    <url-pattern>/gwtproject/greet</url-pattern>
  </servlet-mapping>

问候服务:

@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService {
    Long greetServer(String name) throws IllegalArgumentException;
}

关于java - 如何在外部服务器上启动 gwt-project,例如 Tomcat ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22250500/

相关文章:

java - gwt中的序列化问题

java - 无法在 Android 中创建 Amazon Sqs,但可以在 Java 应用程序中创建它

matlab - Tomcat 和 Matlab MCR 无效的 MEX 文件错误

java - 如何在 eclipse 中将 .war 文件作为 java web 项目依赖项包含在内?

eclipse - tomcat8服务器启动失败报错

javascript - GWT 中客户端的 U2F JavaScript (JSNI)

java - 从 GWT JSNI 调用 Java 方法

java - 使用 java 8 并行处理图像

java - 错误 : Java:31 cannot find symbol

java - 如何终止套接字连接上的线程阻塞