<% out.println("getContextPath: "+request.getContextPath()+"<br/>"); out.println("getServletPath: "+request.getServletPath()+"<br/>"); out.println("getRealPath: "+request.getRealPath("/")+"<br/>"); out.println("getRequestURL: "+request.getRequestURL()+"<br/>"); out.println("getRequestURI: "+request.getRequestURI()+"<br/>");
%>
出来的输出效果为:
getContextPath: /ckswzl getServletPath: /admin/login.jsp getRealPath: D:documentEclipseWorkSpace2.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappsckswzl getRequestURL: http://localhost:8080/ckswzl/admin/login.jsp getRequestURI: /ckswzl/admin/login.jsp
getContextPath是返回的项目上下文的名字(其实也就是项目名);
getServletPath是返回的是项目名到当前jsp文件的路径(意思就是在这个项目首页到文件的路径)
getRequestURI是返回的是项目名到整个文件的请求路径
getRealPath是返回的文件所在的绝对路劲。相对于当前计算机的真实路径
getRequestURL是返回的整个URL的路径请求(意思就是返回的浏览器地址栏的整个地址)
request.getPathInfo();这个方法返回请求的实际URL相对于请求的serlvet的url的路径。
如果我们的 servlet-mapping 如下配置: <servlet-mapping> <servlet-name>jetbrick-template</servlet-name> <url-pattern>/template/*</url-pattern> </servlet-mapping>
那么访问: /context/templates/index.jetx request.getServletPath() == "/templates" request.getPathInfo() == "/index.jetx"