2014-08-28 42 views
-2

如果我把我的GWT项目名为FirstProject,直接将内容打包到Tomcat的ROOT文件夹中。所有的东西,包括RPC调用,都可以正常工作。Tomcat中GWT项目不直接在ROOT中

我的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战争的内容复制到Tomcat的ROOT/MyFolder文件/文件夹和访问它http://example_web_address.com/MyFolder/FirstProject.html然后除RPC调用外的所有东西都可以工作

我不想使用maven,ant或压缩的war文件。我应该在我的web.xml中更改什么?或者是其他地方的问题?

回答

0

我投了托马斯了。但真正的答案是“不要将战争内容复制到webapps/ROOT/MyFolder中,将其放入webapps/MyFolder中,并且不要在web.xml中更改任何内容”。

我希望这是在stackoverflow道德的正确的事情。

+0

这将是答案。 – lembas 2014-08-28 13:35:38

2

你需要更新你的servlet-mappingurl-pattern到GWT会想到他们,即具有MyFolder前缀他们:

<url-pattern>/MyFolder/firstproject/greet</url-pattern> 

注意:您<welcome-file>有太多被类似地更新。

也许你宁愿部署应用程序在/MyFolder而不是在/ROOT然后呢?

+0

无法正常工作。我仍然得到错误404.有什么我应该做的与tomcat? context.xml或server.xml?在两天内 – lembas 2014-08-28 13:10:23