如何在外部服务器上启动gwt-project,例如tomcat的? [英] How to launch gwt-project on external server, e.g. tomcat?

查看:111
本文介绍了如何在外部服务器上启动gwt-project,例如tomcat的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Eclipse上用gwt-plugin在localhost上部署了我的gwt项目。一切正常。但是当我尝试从外部(从tomcat)启动应用程序时,它不能正常工作。我把战争内容放入webaaps文件夹。 gwt的客户端运行良好,但与服务器端连接存在问题。



可能的日志错误:

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

或者:

  INFO:基于APR的Apache Tomcat Native库,它允许在
生产环境中获得最佳性能在
上找不到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:\程序文件(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:\程序文件(x86)\ATI Technologies\ATI.ACE\Core-Static;
C:\程序文件\Intel\Intel(R)管理引擎组件\DAL;
C:\程序文件\Intel\Intel(R)管理引擎组件\IPT;
C:\程序文件(x86)\Intel\Intel(R)管理引擎组件\DAL;
C:\程序文件(x86)\Intel\Intel(R)管理引擎组件\ IPT;
C:\程序文件(x86)\Java\jdk1.6.0_45\bin;
C:\apache-maven-3.1.1\bin;
C:\程序文件(x86)\MySQL\MySQL Utilities 1.3.6\;
C:\apache-ant-1.9.3\bin;
C:\程序文件(x86)\Java\jdk1.6.0_45\bin;
C:\程序文件(x86)\Git\bin;
C:\程序文件(x86)\Git\cmd ;;。

或此:

 信息:在Java 6上运行时,JSR 356 WebSocket(Java WebSocket 1.0)支持不可用
。要取消此消息,请在Java 7上运行Tomcat,
从WebSocket JAR中移除WebSocket JAR $ CATALINA_HOME / lib或将
的WebSocketJAR添加到
$ CATALINA_BASE / conf / catalina.properties中的tomcat.util.scan.DefaultJarScanner.jarsToSkip属性中。请注意,弃用的Tomcat 7
WebSocket API将可用。





 <?xml version =1.0encoding =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>

<! - 要投放的默认页面 - >
< 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);
}


解决方案

项目从外部服务器。


  • 打开命令窗口

  • 导航到war文件夹,以下几点:

      war 
    |
    | __GWTTestProject.html
    | __GWTTestProject.css
    | __gwttestproject文件夹
    | |
    | | __compiled由GWT编译生成的js文件和html文件
    |
    | __WEB-INF文件夹
    |
    | __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>



GreetingService:

  @RemoteServiceRelativePath(greet)
公共接口GreetingService扩展RemoteService {
Long greetServer (String name)抛出IllegalArgumentException;
}


I deployed my gwt project on localhost with gwt-plugin on eclipse. Everything works fine. But when I try to launch application outside (from tomcat) it doesn't work normally. I put war content into webaaps folder. The client side of gwt works well but there is a problem with connection to server side.

Probable error from logs:

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

or this:

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;;.

or this:

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. 

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>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>

Service:

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

解决方案

Step to follow to run GWT project from external server.

  • Open command window
  • Navigate to war folder that contains following things:

    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
    

  • Execute following command using Command prompt to create a war file

     jar -cf gwtproject.war *
    

  • Copy gwtproject.war under tomcat webapps
  • start the server

Please check it again in following files:

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>

GreetingService:

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

这篇关于如何在外部服务器上启动gwt-project,例如tomcat的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆