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在同一目录下的写法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值