Servlet路径错误

时间:2012-10-08 10:27:02

标签: java gwt servlets

出于锻炼目的,我正在使用GWT创建一个应用程序,其中包含一个登录表单。运行时会出现错误

  

加载模块com.logvin.LoginForm

     

[ERROR]从第19行开始的元素'servlet'缺少必需的属性'path'

     

[ERROR]解析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>

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

2 个答案:

答案 0 :(得分:3)

你混合了两种XML方言。

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

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

答案 1 :(得分:1)

我怀疑你是不正确gwt.xml

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

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

编辑:

* .gwt.xml文件中不再需要

servlet个条目。所以你也可以删除这一行:

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

此外,请检查web.xml

中是否有此条目

阅读示例here