调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)
Posted
技术标签:
【中文标题】调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)【英文标题】:Error in Call RPC - GWT , 404 the server responded with a status of 404 (Not Found) 【发布时间】:2014-04-10 01:00:08 【问题描述】:我在服务器上部署我的 GWT 应用程序,在开发模式下,使用 eclipse。 RPC 调用工作正常,但在我部署到 tomcat 服务器后,我无法进行调用。 这是浏览器的控制台显示的内容:
加载资源失败:服务器响应状态为 404 (未找到)http://greenti.platon.com.br/war2/softheart/adminService 加载资源失败:服务器响应状态为 404 (未找到)
这是我的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">
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>adminService</servlet-name>
<servlet-class>greenti.server.service.AdminServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>adminService</servlet-name>
<url-pattern>/softheart/adminService</url-pattern>
</servlet-mapping>
</web-app>
我的班级Service
:
@RemoteServiceRelativePath("adminService")
public interface AdminService extends RemoteService
...
我的.gwt.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!--
When updating your version of GWT, you should also update this DTD reference,
so that your app can take advantage of the latest GWT module capabilities.
-->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN"
"http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">
<module rename-to='softheart'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
<entry-point class='greenti.client.view.PanelMain'/>
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
</module>
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:试试:
http://greenti.platon.com.br/softheart/adminService
我不确定你为什么在路径中使用 /war2/。
【讨论】:
嗨@Andrei,谢谢!实际上我的war2是我解压缩的服务器上的一个目录。 war 文件,其中包含我的 war 文件夹中的所有内容。所以要访问应用程序,我的 index.html,我需要将目录放在 url 网址 http://greenti.platon.com.br/softheart/adminService 返回 404 未找到。 您确定您使用的是 Tomcat 而不是 Apache 服务器吗? 是的,tomcat不需要对GWT项目进行特殊配置吗?我其实是租用的服务器,没有权限,只是ftp发布应用。我在tomcat localhost中运行,使用eclipse,并且工作得很好,但是在这个外部服务器中不起作用 默认情况下,Eclipse 中的 GWT 在 Jetty 中运行,而不是在 Tomcat 中。【参考方案2】:正如 Andrei 所建议的,不要在您的网址中使用 war2。
或者,如果您想使用相同的 url,您可以将 web.xml 的 servelt-mapping 中的 url-pattern 更改为 /war2/softheart/adminService。
【讨论】:
如果我在war中打开我的modeulo的目录MymoduleName,我可以看到我的rpc吗?以上是关于调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)的主要内容,如果未能解决你的问题,请参考以下文章
GWT Servlet 错误 com.google.gwt.user.client.rpc .StatusCodeException: Tomcat 服务器上的 404
GWT RPC“未找到 404”错误。如何让 RPC 在您自己的 Apache 服务器上工作?
状态码异常 (com.google.gwt.user.client.rpc.StatusCodeException: 404 <html>)