GWT 项目中的 404 错误 - servlet 在 web 中正确定义.xml但仍然收到 404 错误



我正在努力使用GWT + Java后端创建一个Web应用程序。主机页面为"应用.html"该应用还具有 RPC,并且主机页面在最初加载时会进行 RPC 调用。

然而,这是我从谷歌浏览器的Javascript控制台收到的消息-

POST http://app.sparkcrawler.com/com.arvindikchari.auth.App/AuthenticationService 404(Not Found) 

以下是我网站的内容.xml--

<?xml version................................>
    <servlet>
    <servlet-name>AuthenticationService</servlet-name>
    <servlet-class>com.arvindikchari.auth.server.AuthenticationServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AuthenticationService</servlet-name>
    <url-pattern>/com.arvindikchari.auth.App/AuthenticationService</url-pattern>
</servlet-mapping>

我在这里做错了什么?如何解决此错误?

问题出在您的 servlet 映射上。

基本上,你在web中有两件事.xml(关于servlet):

  • <servlet> 标记,它定义了 servlet 的别名,以及它的完全限定名称(在您的情况下,AuthenticationService 和 com.arvindikchari.auth.server.AuthenticationServiceImpl)

    给定别名指定 URL 模式的<servlet-mapping>(取自<servlet>定义)。

它应该像

<servlet-mapping>
    <servlet-name>AuthenticationService</servlet-name>
    <url-pattern>/authenticationService</url-pattern>
</servlet-mapping>

我认为你的servlet映射url模式看起来是错误的。

通常,在映射任何 servlet 时,<url-pattern>都是这样的。

<`<url-pattern>/{app name}/{servlet name}</url-pattern>`
这里的应用程序名称

将与GWT.xml文件中的注册应用程序名称相同。

最新更新