0

出于练习目的,我正在使用由登录表单组成的 GWT 制作应用程序。运行时出现错误

加载模块 com.logvin.LoginForm

[错误] 从第 19 行开始的元素“servlet”缺少必需的属性“路径”

[错误] 解析 XML 时失败

我正在使用 GWT-RPC 并检查给定的用户名和密码是否正确。我对 xml 文件进行了一些更改,这些更改是:

entry-point class='com.logvin.client.LoginForm'/>   
<servlet> path="/LoginForm" class="com.logvin.gwt.server.GreetingServiceImpl"/>  
  <servlet> 
   <servlet-name>GreetingServiceImpl</servlet-name> 
   <servlet-class>com.logvin.server.GreetingServiceImpl</servlet-class>
  </servlet> 
<servlet-mapping> 
 <servlet-name>GreetingServiceImpl</servlet-name> 
 <url-pattern>/LoginForm</url-pattern>    
</servlet-mapping>

为什么我再次收到此错误?

4

2 回答 2

3

您正在混合两种 XML 方言。

所有这些<servlet>元素都应该进入您的WEB-INF/web.xml文件,告诉 servlet 容器(您将部署应用程序的服务器)如​​何为您的 servlet 提供服务。

*.gwt.xml文件(GWT 模块)是关于告诉 GWT 编译器(请参阅:编译时,而不是运行时)如何编译您的代码:加载应用程序时从哪里开始(该entry-point),哪些类是客户端(将被编译为JavaScript,其他(仅限服务器端)必须排除),要导入哪些 GWT 模块(inherits)等。

于 2012-10-08T10:55:41.467 回答
1

我怀疑你不正确gwt.xml

你的LoginForm.gwt.xml应该是这样的。

<entry-point class="com.logvin.client.LoginForm"/>
<servlet path="/LoginForm"
       class="com.logvin.gwt.server.GreetingServiceImpl" />

编辑:

servlet*.gwt.xml 文件中不再需要条目。所以你也可以删除这一行:

<servlet path="/LoginForm"
           class="com.logvin.gwt.server.GreetingServiceImpl" />

另外,检查您的web.xml.

在此处阅读示例

于 2012-10-08T10:36:32.363 回答