Я следовал учебному пособию по GWT по умолчанию и дошел до части Java RPC, http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html для создания примера приложения StockWatcher.
У меня все работает локально в Eclipse, включая Java-сервлет. Файл war / WEB-INF / 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>stockPriceServiceImpl</servlet-name>
<servlet-class>com.google.gwt.sample.stockwatcher.server.StockPriceServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>stockPriceServiceImpl</servlet-name>
<url-pattern>/stockwatcher/stockPrices</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>StockWatcher.html</welcome-file>
</welcome-file-list>
</web-app>
Я не знал, как поместить все это в файл военных действий, но нашел в Интернете этот сценарий ANT, в котором он создал файл .war.
<project name="StockWatcher" basedir="." default="default">
<target name="default" depends="buildwar,deploy"></target>
<target name="buildwar">
<war basedir="war" destfile="StockWatcher.war" webxml="war/WEB-INF/web.xml">
<exclude name="WEB-INF/**" />
<webinf dir="war/WEB-INF/">
<include name="**/*.jar" />
</webinf>
</war>
</target>
<target name="deploy">
<copy file="StockWatcher.war" todir="." />
</target>
</project>
Когда я загрузил приложение в Tomcat, все компоненты JavaScript на стороне клиента работают нормально, однако сервлет RPC не работает, я получаю следующую ошибку.
HTTP-статус 404 - запас сервлетаPriceServiceImpl недоступен
Как мне это исправить?