如果我将名为 FirstProject 的 GWT 项目的 war 内容直接放入 Tomcat 的 ROOT 文件夹中。所有事情,包括 RPC 调用,都可以正常工作。
我的 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>com.example.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/firstproject/greet</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>FirstProject.html</welcome-file>
</welcome-file-list>
</web-app>
我的界面是:
@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService { ... }
但是如果我将所有 FirstProject war 内容复制到 Tomcat 的 ROOT/MyFolder/文件夹中并在 http://example_web_address.com/MyFolder/FirstProject.html 上访问它然后一切正常,除了 RPC 调用
我不想使用 maven、ant 或压缩的 war 文件。我应该在 web.xml 中更改什么?还是其他地方的问题?
最佳答案
您需要更新您的 servlet-mapping
的 url-pattern
到 GWT 期望它们的地方,即在它们前面加上 MyFolder
:
<url-pattern>/MyFolder/firstproject/greet</url-pattern>
注意:您的 <welcome-file>
也必须进行类似的更新。
也许您更愿意在 /MyFolder
部署应用程序而不是在 /ROOT
那么呢?
关于tomcat - 不直接在 ROOT 中的 Tomcat 中的 GWT 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25546130/