繁体   English   中英

Tomcat 5.5上的GWT部署

[英]GWT Deployment on Tomcat 5.5

我正在尝试将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服务器,并且正在运行:

http://tattoon.pt/jsptest.jsp

唯一的区别是,一台服务器在端口8080上使用Tomcat版本7.0.42,而一台不工作的服务器在80端口上使用Tomcat 5.5.36。

我正在使用GWT 2.6.0。

我将不胜感激任何帮助。

谢谢。

根据您的项目结构:

  • 如果您在客户端类中使用图像,则该链接应相对于ProjectName.html ,因此与CSS(css / Webtattoon.css)一样,该images/logo.png应为images/logo.png
  • 如果您使用的是CSS文件中的图片,则网址应为../images/logo.png

虽然,但我看不出为什么它可以在Tomcat7上运行,而不能在Tomcat 5.5.36上运行。

当涉及到资源的URL时,浏览器缓存可以对您起到欺骗作用,因此请确保每次更改资源或链接时都开始进行私有浏览。

根据在此http://www.tattoon.pt/deployment/ URL上单击“发送”按钮时收到的错误消息,该消息显示:

在此服务器上找不到请求的URL /deployment/deployment/greet

很明显,URL的格式不正确。 找到一个额外的/deployment ,导致此问题。

请确认您在应用程序中为以下内容指定的内容。

注意:在这里,我创建了一个名为greet的远程服务。 可能您已将其定义为deployment/greet ,这就是URL格式错误的原因。

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM