什么叫Web站点的根路径,什么叫Web应用的根路径,在对它们的 "/"应用场景中,到底是代表站点路径还是web应用路径开始路径, 恐怕是很多人在web开发时候经常被搞混的的问题。现在简单解答如下:
问题:
1.什么是web站点根目录,什么是web应用的根目录:
自己的理解:
web站点的根目录:浏览器访问的工程名上一级的目录,比如:http://localhost:8989/testservlet,则web站点的根目录就是testservlet的上一级目录,既:http://localhost:8080/ 。
web应用的根目录:当前web应用的上下文路径:http://localhost:8080/contextPath(当前web应用的上下文路径) ,request.getContextPath() 获取到。如我的:http://localhost:8080/springmvc2/
2. 应用场景:
web应用根路径:
>请求转发:request.getRequestDispacter("/path/a.jsp").forward(request,response): http://localhost:8080/springmvc2/path/a.jsp;
>web.xml里面的<servlet-mapping><url-pattern><url-pattern>/a.jsp</url-pattern></servlet-mapping>
web站点的根目录:
>超链接 :<a href="/testservlet"></a> :href的完整翻译:http://localhost:8989/testservlet
>form表单的action: <form action="/login.jsp"> :httpo://localhost:8989/login.jsp
>做请求重定向的时候: response.sendRedirect("/a.jsp") :http://localhost:8989/a.jsp
总结:
一般而言,对于路径由服务器的Servlet来处理,“/” 代表着的是web应用的根路径。比如请求转发,web.xml中的路径url-pattern路径配置,都是由web服务器来调用执行的。对于由浏览器进行解析的情况,如a标签、表单提交,请求重定向,则代表的web站点的根目录。