Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别

假定你的工程名称为projects,你在浏览器中输入请求路径:

http://127.0.0.1:8080/projects/pages/newForm.jsp

则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath());
打印结果:/projects
 2、System.out.println(request.getServletPath());
打印结果:/pages/newForm.jsp
 3、 System.out.println(request.getRequestURI());
打印结果:/projects/pages/newForm.jsp
 4、 System.out.println(request.getRealPath("/"));
 JSP servlet API提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。

打印结果:C:\Tomcat5.0\webapps\projects\test

想不清楚的代码或原理,动手试验一般会找到答案!!!

 

自己试验了一下:

http://localhost:8080/gd/index.do?logicName=HelloWorldAction&forwardJsp=index

 

   String ss = req.getServletPath();
   System.out.println(ss);
   systemName = ss.split("/")[1];
   System.out.println(systemName);
   
   for(int i=0;i<ss.split("/").length;i++){
    System.out.println("ss.split(\"/\")["+i+"]="+ss.split("/")[i]);
   }

 

输出:

 /gd/index.do
gd

ss.split("/")[0]=
ss.split("/")[1]=gd
ss.split("/")[2]=index.do

你可能感兴趣的:(C++,c,jsp,浏览器,servlet)