jsp表单无法访问Servlet;路径问题


在使用servlet处理jsp时发现很多提交表单时发生的错误都是因为提交路径出错造成的。

就是一直报404,的问题。

web.xml配置如下:


LoginServlet
Com.Ren.Servlet.LoginServlet


LoginServlet
/Servlet/LoginServlet



(1)当login.jsp和login.html中form表单配置如下



用户名:



是可以正常访问

(2)当login.jsp和login.html中form表单配置如下时(多加了一个/):

用户名:

就无法访问,报404

(3)当login.jsp中form表单配置如下时:

用户名:



或者 login.html中表单为:

用户名:



或者(前面加一个.)

用户名:


都是可以正常访问的


总结:

(1) /    代表根目录(就是tomcat软件中webapps目录)

(2) .  代表当前目录(个人设置的虚拟目录其实就等于idea中webapp目录)


补充:
关于重定向和转发遇到的路径问题
有一个很好地观点:https://blog.csdn.net/qq_42744046/article/details/105110803
是说:在用地址的时候,需要判断是给浏览器用还是给服务器用。如果是给浏览器用需要加上虚拟地址;如果是给服务器用就不需要加上虚拟地址;
这也很好理解:浏览器是访问别人的资源,地址当然要详细,“/” 所代表的根目录是tomcat服务器下的webApps目录。
而服务器的转发只是转发自己内部的资源,所以它的"/"根目录就是代表虚拟目录;
简而言之:就是服务器项目中使用的根目录“/”就是虚拟目录;浏览器使用的根目录“/”是tomcat下webapps目录;


 今天练习文件上传,关于Io流中“/”路径问题,因为我做的事WEB项目,所以该处的“/”根路径表示tomcat所安装目录的根路径,此处是D盘;

还是,看路径的时候,需要想到是谁在用,就能想明白根路径在哪了;

 

 

相关