我建立了一个RegistServlet.java的Servlet,为什么使用<form method="post" action="RegistServlet">找不到RegistServlet
时间: 2023-11-28 07:05:08 浏览: 28
如果你使用<form method="post" action="RegistServlet">提交表单,但是找不到RegistServlet,有可能是以下原因导致的:
1. 没有在web.xml中配置Servlet信息。在web.xml中需要对Servlet进行配置,包括Servlet的名称、类名、映射路径等信息。如果没有配置,服务器就不知道该如何处理对应的请求。
2. 没有将RegistServlet编译成class文件并部署到服务器上。如果没有将RegistServlet编译成class文件并将其部署到服务器上,那么服务器就找不到对应的Servlet。
3. 没有将RegistServlet的映射路径设置为“RegistServlet”。如果在web.xml中将RegistServlet的映射路径设置为其他名称,那么在表单中使用action="RegistServlet"就会找不到对应的Servlet。
请检查以上三个方面是否存在问题,如果还是无法解决问题,可以提供更多的信息,我会尽力帮助你解决问题。
相关问题
servlet中获取html中的filename,为什么是空的,<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/down" method="post" enctype="multipart/form-data"> <select name="filename"> <option >1.txt</option> <option >exe01.cpp</option> <option v>2.jpg</option> </select> <input type="submit" value="下载" ><br/> </form > </body> </html>
在servlet中获取HTML中的filename,需要在服务端对请求进行解析,从而获取所需的参数值。对于这个问题,可能是因为在HTML中的select标签中的option标签并没有设置value属性,所以在提交表单时,无法获取到所选项的值。可以将option标签的value属性设置为对应的文件名,例如:
```
<select name="filename">
<option value="1.txt">1.txt</option>
<option value="exe01.cpp">exe01.cpp</option>
<option value="2.jpg">2.jpg</option>
</select>
```
然后在servlet中获取filename的值,可以通过request.getParameter("filename")来获取。
为什么servlet获取filename是空的<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/down" method="post" enctype="multipart/form-data"> <select name="filename"> <option value="1.txt">1.txt</option> <option value="exe01.cpp">exe01.cpp</option> <option value="2.jpg">2.jpg</option> </select> <input type="submit" value="下载" ><br/> </form > </body> </html>
如果你是通过 `HttpServletRequest` 对象中的 `getParameter()` 方法获取 `filename` 参数值的话,那么可能是因为你没有在 `form` 标签中设置 `name` 属性,或者设置的属性值不是 `filename`。你可以在 `form` 标签中添加 `name="filename"` 属性,或者修改 `getParameter()` 方法中的参数值为正确的属性值。如果你已经设置了正确的属性值,但是还是获取不到参数值,那么可以检查一下你的表单是否正确提交,并且后台代码是否正确处理了请求。