关于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+"
");
		arg1.getWriter().write(realPath+"
");
		
	}

具体的运行的结果如下:

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

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

原文地址:https://www.cnblogs.com/JieWen/p/7296183.html