1

我有一个如下所示的 servlet 映射。

 <servlet>
     <servlet-name>SubmitComment</servlet-name>
     <servlet-class>org.rohitsharma.db.servlet.SubmitComment</servlet-class>
 </servlet>
 
 <servlet-mapping>
     <servlet-name>SubmitComment</servlet-name>
     <url-pattern>/SubmitComment</url-pattern>
 </servlet-mapping>

当我用 action 击中一个表单时SubmitComment。它在我的本地主机上工作。但是当我将它上传到真正的主机上时,它给了我类似的错误。

未找到

在此服务器上找不到请求的 URL /SubmitComment。

我应该如何更改这些映射以使其正常工作?

这是表格:

 <form action="SubmitComment" method="post" id="leavereply">
      <ol><li>
        <label for="name">Name</label>
        <input id="name" name="name" class="text" />
      </li><li>
        <label for="email">Email Address</label>
        <input id="email" name="email" class="text" />
      </li><li>
        <label for="message">Your Message</label>
        <textarea id="message" name="message" rows="8" cols="50"></textarea>
      </li>
        <input type="hidden" id="blog_id" name="blog_id" value="<%out.print(blog.blog_id);%>">
      <li>
        <input type="image" name="imageField" id="imageField" src="images/submit.gif" class="send" />
        <div class="clr"></div>
      </li></ol>
      </form>
4

3 回答 3

1

在构建 HTML 时,您是否在表单前面加上action上下文根?呈现给客户端浏览器的内容应该是/<context-root>/SubmitComment. 在您的本地服务器上,应用程序可能部署在默认上下文根上,而在生产环境中它部署在不同的上下文根上。

向我们展示您用于在 HTML 表单上呈现 URL 的代码。你可能在那里失踪<c:url>了。

于 2012-11-18T19:06:40.523 回答
0

这是服务器设置问题。与代码或任何映射无关。谢谢你的时间。这是我的现场主持人的一些设置问题。我改变了我的主机并且一切正常:)

于 2012-12-05T11:53:12.503 回答
0

我有一个类似的问题,它在本地工作并且在我的开发环境中不起作用。该错误会说找不到该页面。事实证明,这是一个 Apache httpd 配置,我必须在 virtual_hosts.conf 中创建一个 JKMount 条目。在我重新启动 httpd 服务后,我能够点击它。

在这种情况下,问题与代码或设置无关,但如果他们的 servlet 容器前面有 Apache httpd 服务层,这可能对其他人有帮助。

于 2017-10-10T03:11:13.867 回答