form中的action填写相对地址的时候,为什么这两种方式作用是一样的?

图片描述

这个/代表什么呢?总不能是根目录吧?项目的名称是test

阅读 5.3k
7 个回答

/ 本来就表示根嘛,不过在这里不是表示的服务器文件系统的根,而是 Web 应用虚拟目录结构的根,也就是 http://somedomain.com/ 这个“根”位置。

你两种方式都是把数据提交到CServlet地址啊,第一种方式只写简写而已,它会找到根目录下面的子文件。

应该是在web.xml中配置<servlet-mapping>时指定的<url-pattern>不同,但都是指向同一个Class,即它们<servlet-class>一致,建议你去了解下 servlet 的web.xml 配置,就清楚了

上面的是相对目录,也就是入口脚步的同级目录,下面的是网站根目录。既然你的网站目录是test,那么就能顺利的找到/test/CServlet。
网站的根目录就是域名绑定到的目录。

新手上路,请多包涵

两种方式就是绝对路径和相对路径的区别,有/,是从根目录下开始的,也就是绝对路径,没有/,是从当前路径开始的,也就相当于“当前路径/你的路径“。

相对路径和绝对路径的区别。。这种问题应该点灭

<form action="CServlet">

地址的最前面没有"/",表明该地址是相对你当前正在编写的这个jsp或html文件的相对位置.
在你这个例子里,意味着要在该jsp或html文件所属目录内找CServlet.

<form action="/test/CServlet">

地址最前面的"/",表示Web应用虚拟目录结构的根地址.它其实还是一种相对地址,叫做相对虚拟目录.但从便于理解的角度上来说,它有点儿像以你Web应用地址为根的绝对地址.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题