0

我已经部署了一个 gwt 应用程序,它在开发模式下运行良好,但是当我尝试在 Tomcat 或 Jboss 上上传它时,无论服务器是否打开,我总是得到 404 页面。我尝试输入:http://localhost:8080/gwtexample , http://localhost:8080/gwtexample/index.html and127.0.0.1:8080/gwrexample` 没有成功。

我将战争文件放在 jboss/standalone/deployment 和 C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT 下

and here is my web.xml <?xml version="1.0" encoding="UTF-8"?>
 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 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">
<servlet>
<servlet-name>requestFactoryServlet</servlet-name>
<servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryServlet</servlet-class>
<init-param>
 <param-name>symbolMapsDirectory</param-name>
<param-value>WEB-INF/classes/symbolMaps/</param-value>
   </init-param>
  </servlet>
<servlet-mapping>
<servlet-name>requestFactoryServlet</servlet-name>
<url-pattern>/gwtRequest</url-pattern> </servlet-mapping>
<welcome-file-list>
<welcome-file>BfiWebTop.html</welcome-file></welcome-file-list>
 </web-app>
4

3 回答 3

1

今天我遇到了同样的问题并找到了解决方案。由于我在研究这个悬而未决的问题时偶然发现,我想分享对我有用的解决方案——即使这个问题现在已经有几个月了。

我的环境:Eclipse Kepler SR1, GWT SDK 2.5.1, Google Plugin for Eclipse 4.3

我的问题情况:

  • 使用插件向导创建了一个GWT项目Google"New Web Application Project"
  • 创建了"Hello World"问候语
  • GWT development mode在->Right-mouse-click项目文件夹中运行它,选择"Run as"->"Web Application".

这工作得很好。现在我想在 上运行"Hello World"应用程序Tomcat 7 server,我之前已经为此创建了一个服务器配置文件Eclipse。这以404本问题中所述的 a 结束。以下是我尝试创建和部署应用程序的 war 文件的方法:

  • 使用Google plugin wizard“GWT Compile Project...”将项目编译成war文件夹
  • 使GWT项目成为动态 Web 项目,以便将其部署Tomcat -> Right-mouse-click在项目文件夹中,选择"Properties"->"Project Facets"并启用"Dynamic Web Module".
  • Right-mouse-click在项目文件夹上,选择"Run as"->"Run on Server"并选择Tomcat Server我配置的Eclipse
  • Eclipse打开嵌入式浏览器404

当我导出项目的war文件并将其部署到Tomcat 7外部安装的webapps文件夹时,我遇到了同样的错误Eclipse

这是出了什么问题。当我查看war文件本身时,我发现只有一个WebContet带有META-INFand文件夹的空文件夹骨架WEB-INF。没有JavaScript文件,没有HTML files,没有web.xml,等等。

为了创建正确填充的战争文件,我不得不再次操作项目属性。

  • Right-mouse-click在项目文件夹上,选择"Properties"->Deployment Assembly"
  • 删除带有WebContent源的条目
  • 添加一个以 war 文件夹为源的条目:
    • 点击"Add"按钮
    • 选择"Folder"并单击"Next"按钮
    • 从列表中选择战争文件夹并单击"Finish"

现在"Run As"->"Run on Server"工作了。

希望这对其他人也有帮助。

于 2014-01-03T21:55:05.787 回答
1

战争文件应该直接放在 webappsC:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps文件夹中。ROOT 文件夹也是一个 web 应用程序。

请查看您的warfile:

warfile/<hostpage>.html    //maybe index.html
warfile/webtop/ *          //lots of HTML or JS files with silly names (GWT stongnames)
warfile/WEB-INF/web.xml    
warfile/WEB-INF/classes/ * //your compiled server classes
warfile/WEB-INF/lib/ *     //your libraries (including gwt)
于 2013-08-23T16:22:42.563 回答
0

您可以尝试通过 JBoss 7 的管理控制台部署您的战争(“运行时”选项卡 ->“管理部署”->“添加内容”)。然后你可以得到一些例外来解释你的战争出了什么问题。

于 2013-08-25T15:57:47.510 回答