我试图将我的GWT项目部署到远程服务器。我无法使其正常运行。由于某种原因,浏览器会查找相对于域根目录的资源,而不是相对于html页面位置的资源。
项目部署后具有以下文件结构:
/public_html/ProjectName
/public_html/ProjectName/ProjectName.html
/public_html/ProjectName/WEB-INF
/public_html/ProjectName/META-INF
/public_html/ProjectName/Css
/public_html/ProjectName/Images
/public_html/ProjectName/ProjectName/ProjectName.nocache.js
/public_html/ProjectName/ProjectName/hosted.html
/public_html/ProjectName/ProjectName/etc...
至于图像的一个例子,我在uibinder.xml上找到了它:
<g:Image ui:field="imgLogo" styleName="{style.img-logo}" url="/images/logo.png"/>
你可以自己看看:
http://www.tattoon.pt/webtattoon/
该应用在开发过程中运行良好。
我尝试将默认GWT部署到同一台服务器。不幸的是,我收到同样的错误,指出在发出请求时找不到该URL。你可以查看:
http://www.tattoon.pt/deployment/
这是web.xml:
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.ohapp.deployment.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/deployment/greet</url-pattern>
</servlet-mapping>
我知道该项目有效,因为我将其部署在另一台服务器上并实现了假装结果:
http://metalemore.com:8080/deployment/
此外,我已经测试了Tomcat服务器并正在运行:
唯一的区别是,一台服务器在端口8080上使用Tomcat版本7.0.42,而不工作的服务器在端口80上使用Tomcat 5.5.36。
我正在使用GWT 2.6.0。
我将不胜感激。
谢谢。
答案 0 :(得分:0)
根据您项目的结构:
ProjectName.html
相关,因此它应该与您对CSS(css / Webtattoon)的images/logo.png
相同。 CSS)CSS
文件中的图片,则网址应为../images/logo.png
虽然,我不明白为什么它适用于Tomcat7而不适用于Tomcat 5.5.36。
当涉及到资源的网址时,浏览器缓存可以为您提供技巧,因此请确保每次更改资源或链接时都启动隐私浏览。
答案 1 :(得分:0)
根据点击此http://www.tattoon.pt/deployment/网址上的发送按钮时收到的错误消息:
在此服务器上找不到请求的网址/deployment/deployment/greet
。
很明显,URL格式不正确。找到一个额外的/deployment
导致此问题。
请确认您在申请中指定了以下内容。
注意:我在这里创建了一个名为greet
的远程服务。可能是您已将其定义为deployment/greet
,这就是网址格式错误的原因。
RemoteService.java:
@RemoteServiceRelativePath("greet")
public interface GreetService extends RemoteService {
...
}
<强>的web.xml:强>
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.x.y.z.server.GreetServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/deployment/greet</url-pattern>
</servlet-mapping>