form表单提交路径 找不到对应的servlet问题

form表单提交路径 找不到对应的servlet问题

	客户端报错--错误:请求的资源/LoginServlet不可用

报错前form

<form action="/LoginServlet" method="GET">
	<table border="1" width="50%">
		<tr>
			<td colspan="2" align="center">编程帮wwww.biancheng.net</td>
		</tr>
		<tr>
			<td>账号</td>
			<td><input type="text" name="username" /></td>
		</tr>
		<tr>
			<td colspan="2" align="center"><input type="submit" value="提交" />
			</td>
		</tr>
	</table>
</form>

报错前 web.xml

<servlet>
	<servlet-name>LoginServlet</servlet-name>
	<display-name>LoginServlet</display-name>
	<description>登录页面servlet</description>
	<servlet-class>servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>LoginServlet</servlet-name>
	<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>

解决方案:

<form action="/LoginServlet" method="GET">
更改为
<form action="LoginServlet" method="GET">

即在web.xml中用/LoginServlet 告诉容器去哪寻找对应的servlet
和actio中不一样,容器是约定好的/ 不是根目录而是抛除工程上下文目录后的
在action中/表示的是根目录所以出现报错

当然这还有表格所在html,jsp文件目前所在工程目录得位置问题,这里不做过多记录,牵扯到相对路径和绝对路径又是另一个写法
如用绝对路径:action="/hainworldwebapp/LoginServlet"也是可以访问到的

注:

  1. web.xml中的这里面是为servlet指定的路径不一定要和servlet同名,但action=“”,要想找到servlet,需要和保持一致
  2. 以上写法都和web.xml上级目录WEB-INF在同一目录下的写法
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,要将表单提交Servlet404,您需要在表单的action属性中指定Servlet的URL地址,例如: <form action="/servlet404" method="post"> <!-- 表单内容 --> </form> 这样,当用户提交表单时,表单数据将被发送到指定的Servlet404中进行处理。在Servlet中,您可以使用request对象来获取表单数据,例如: String username = request.getParameter("username"); String password = request.getParameter("password"); 然后您可以根据需要对表单数据进行处理和响应。希望这能帮助您! ### 回答2: 当我们在HTML页面中使用<form>标签创建表单,并在其中添加输入元素和提交按钮时,我们可以将其提交到一个指定的目标资源。在我们想要将表单数据提交到一个Servlet的情况下,我们需要在<form>标签的action属性中指定Servlet路径。 但是,在一些情况下,我们可能会遇到"Servlet 404 Not Found"的错误,这意味着服务器无法到我们指定的Servlet。有几个可能的原因会导致这个错误: 1. Servlet路径指定不正确:如果我们在action属性中指定了错误的Servlet路径,服务器就会无法到该Servlet。因此,我们需要确保指定的路径是正确的,并且在服务器中存在。 2. Servlet没有正确的映射:即使我们指定了正确的Servlet路径,如果Servlet没有正确地映射到服务器中的某个目录或文件,服务器也不会到它。我们需要确保已正确地配置Servlet的映射。 3. 应用程序上下文路径不正确:如果我们的Servlet位于Web应用程序的子目录中,则我们需要将应用程序的上下文路径包括在Servlet路径中,以便服务器正确地到它。 4. 服务器文件丢失:如果Servlet文件已被删除或移动到其他位置,则服务器将无法到它。我们需要确保Servlet文件位于正确的位置,并且已复制到服务器的正确目录中。 5. 服务器未正确配置:最终可能性是服务器本身的配置有问题,这可能导致无法正确查Servlet。在这种情况下,我们需要检查服务器设置,并确保已正确地安装和配置。 总之,当我们遇到"Servlet 404 Not Found"错误时,需要检查我们的代码和服务器配置,以确保我们已正确地指定了Servlet路径,并且Servlet已正确地映射到服务器上的某个目录或文件。 ### 回答3: form表单提交servlet404,可能是出现了以下几种情况: 1. servlet的URL链接没有正确设置,导致无法对应servlet页面。这种情况下,我们需要对代码中的servlet路径进行检查,问题所在,并进行调整。 2. 服务器端的配置不正确,导致无法处理请求。这种情况下,我们需要对服务器端的配置进行检查,如检查web.xml文件中的ServletContext配置是否正确设置。 3. servlet中的路由匹配有误,导致无法处理请求。这种情况下,我们需要检查servlet代码中的路径匹配逻辑是否正确,如路径名是否大小写敏感。 4. servlet或web应用程序中的权限设置不正确,导致无法处理请求。这种情况下,我们需要对权限设置进行检查,如是否拥有访问servlet的权限、是否具有目标路径的读取/写入权限等。 总之,form表单提交servlet404一般情况下是因为路径不正确或者权限设置不正确,只要检查以上几点,就可以解决问题,确保form表单顺利提交到servlet并获得正确的响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值