【问题标题】:Servlet Path ErrorServlet 路径错误
【发布时间】:2012-10-08 10:27:01
【问题描述】:

出于练习目的,我正在使用包含登录表单的 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>

为什么我又收到这个错误?

【问题讨论】:

  • entry-point class='com.logvin.client.LoginForm'/&gt; 这是什么?
  • @RussellGutierrez 指定应用程序的入口点类

标签: java gwt servlets


【解决方案1】:

您混淆了两种 XML 方言。

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

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

【讨论】:

  • 新错误即将到来 16:31:57.128 [错误] [loginform] 无法在您的类路径中找到“loginform.gwt.xml”;可能是拼写错误,或者您忘记包含源的类路径条目? 哦!!
  • @Vinayak:你在 gwt.xml 中有错字。检查
【解决方案2】:

我怀疑你不正确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 中是否有此条目。

阅读示例here

【讨论】:

  • 在com.logvin下的LoginForm.gwt.xml中编辑
  • 之前我没有在 LoginForm.gwt.xml 中提到 servlet-path....当时它给出了同样的错误,所以我思想必须给它某种路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多