您的位置首页百科问答

getRealPath("/")函数中的"/"表示什么意思?

getRealPath("/")函数中的"/"表示什么意思?

的有关信息介绍如下:

getRealPath(

1、表示获得服务器的绝对路径的意思。

2、getRealPath问题:

String filename=request.getRealPath(filename)。

信息:warning: [deprecation] getRealPath(java.lang.String) in javax.servlet.ServletRequest has been deprecated。

解决:这个getRealPath方法已经不建议使用了,参看request.getRealPath的java doc,Deprecated. As of Version 2.1 of the Java Servlet API, use,ServletContext.getRealPath(java.lang.String) instead.而在servlet中使用getServletContext.getRealPath()这个方法受到war 和non-war的影响,以及不同app server实现的影响,运气好的话,你常常会得到null,比如你在weblogic上部署war文件,又调用这个方法。推荐ServletContext.getResourceAsStream

3、关于serveletContext.getRealPath返回NULL和不同的app server返回不同的结果:

有几个配置文本配置文件(是一些报表的模板),放在WEB-INF下面的config目录下,程序中是这样得到这个config的实际路径的:先用 serveletContext.getRealPath得到根路径,tomcat中比如是c:\tomcat\webapp\test,然后我加上 "/WEB-INF/config/aa.config",这样得到文件的path然后进行读入,应用在tomcat上跑是ok的,后来将war放到weblogic上,出错,原因是:在weblogic上用getRealPath得到的是myserver\stage\_appsdir_test_war\test.war!\WEB-INF\config....这样的路径,于是一直报FileNotFoundException。