首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat5.5上的GWT部署

Tomcat5.5上的GWT部署
EN

Stack Overflow用户
提问于 2014-03-16 23:53:48
回答 2查看 129关注 0票数 0

我正在尝试将我的GWT项目部署到远程服务器。我无法让它正常运行。由于某些原因,浏览器查找与域根相关的资源,而不是与html页面位置相关的资源。

工程部署后文件结构如下:

代码语言:javascript
复制
/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上找到的一个例子是这样做的:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
 <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。

我使用的是GWT2.6.0。

如果有任何帮助,我将不胜感激。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-03-17 02:03:30

根据您的项目结构:

  • 如果您在客户端类中使用图像,则链接应该是相对于ProjectName.html的,因此它应该是images/logo.png,就像您对使用CSS文件中的图像的CSS URL一样,URL应该是../images/logo.png

不过,我不明白为什么它能在Tomcat7上工作,而不能在Tomcat5.5.36上工作。

当涉及到资源的URL时,浏览器缓存可能会欺骗您,因此请确保您在每次更改资源或链接时都启动私密浏览。

票数 0
EN

Stack Overflow用户

发布于 2014-03-17 03:49:23

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

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

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

请确认您在申请表中为以下内容指定的内容。

注意:在这里,我创建了一个名称为greet的远程服务。也许你已经将它定义为deployment/greet,这就是为什么URL格式不正确的原因。

RemoteService.java:

代码语言:javascript
复制
@RemoteServiceRelativePath("greet")
public interface GreetService extends RemoteService {
    ...
}

web.xml:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22439098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档