我有一个像下面这样的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>
当我点击带有动作SubmitComment
的表单时。它在我的localhost上工作。
但是当我将它上传到真正的主机上时,它会给我一个错误。
未找到
在此服务器上找不到请求的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>
答案 0 :(得分:1)
在构建HTML时,您是否在表单的action
前加上上下文根?
呈现给客户端浏览器的内容应为/<context-root>/SubmitComment
。在本地服务器上,应用程序可能部署在默认上下文根上,而它部署在生产中的不同上下文根上。
向我们展示用于在HTML表单上呈现URL的代码。你可能在那里遗漏了<c:url>
。
答案 1 :(得分:0)
这是服务器设置问题。与代码或任何映射无关。 谢谢你的时间。这是我现场主持人的一些设置问题。我改变了我的主人,事情有效:)
答案 2 :(得分:0)
我有一个类似的问题,它在本地工作,在我的开发环境中不起作用。错误会说找不到页面。事实证明,这是一个Apache httpd配置,我必须在virtual_hosts.conf中创建一个JKMount条目。重新启动httpd服务后,我能够点击它。
这是一个问题不是代码或设置相关的情况,但如果他们的servlet容器前面有Apache httpd服务层,这可能对其他人有帮助。