分享

getContextPath和getRealPath的区别

 红了耳垂 2016-06-07

这个问题很简单,实验一下就出来了,其实主要区别就是相对路径和绝对路径:

  • getContextPath返回的是相对路径,工程的项目的相对路径;
  • getRealPath返回的绝对路径,就是在文件系统的实际路径;
下面是我自己做的实验,在SpringMvc+Spring+Hibernate的项目中做的实验
  1. @Controller  
  2. public class IndexController {  
  3.   
  4.     @RequestMapping("/")  
  5.     public String index(HttpServletRequest request){  
  6.         System.out.println(request.getContextPath());  
  7.         System.out.println(request.getSession().getServletContext().getContextPath());  
  8.         System.out.println(request.getServletContext().getContextPath());  
  9.         System.out.println(request.getServletContext().getRealPath("/"));  
  10.         System.out.println(request.getSession().getServletContext().getContextPath());  
  11.         System.out.println(request.getSession().getServletContext().getRealPath("/"));  
  12.         return "index";  
  13.     }  
  14. }  

上面的打印结果如下:
  1. /cn.test  
  2. /cn.test  
  3. /cn.test  
  4. E:\StudyResource\Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\cn.test\  
  5. /cn.test  
  6. E:\StudyResource\Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\cn.test\  
其实request、session、ServletContext调用getContextPath返回的结果是相同的

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多