关于J2EE里面getContextPath()和getRealPath()的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于J2EE里面getContextPath()和getRealPath()的区别相关的知识,希望对你有一定的参考价值。

一直老搞不清楚这两个方法的区别,只知道他们都是拿来获取地址的。今天特意写了个小demo试了一下,代码如下:

@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1) 
			throws ServletException, IOException {
		ServletContext context=arg0.getServletContext();
		String contextPath=context.getContextPath();
		
		
		String realPath=context.getRealPath("hahha");
		arg1.getWriter().write(contextPath+"\\n");
		arg1.getWriter().write(realPath+"\\n");
		
	}

具体的运行的结果如下:

技术分享

 

可以理解为getContextPath()获得的是整个项目的路径位置

而getRealPath()获得的是项目在系统上的真正位置,而且包含了后面的字符串,即使系统上没有此目录

 

以上是关于关于J2EE里面getContextPath()和getRealPath()的区别的主要内容,如果未能解决你的问题,请参考以下文章

关于request.getServletPath(),request.getContextPath()的总结

关于request.getContextPath的路径问题

j2ee项目里面service层里面为啥要建立一个接口,一个实现类

j2ee项目里面service层里面为啥要建立一个接口,一个实现类

Java Web 应用程序:为啥 getContextPath 为空?

java关于用request获取路径