如何在外部服务器上启动gwt-project,例如tomcat的? [英] How to launch gwt-project on external server, e.g. 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屋!