javaWeb中 request.getRealPath("") 这个方法为什么不推荐使用了 ?
可以使用request.getSession().getServletContext().getRealPath()得到工程文件的实际物理路径,也就是绝对地址。我想问:r...
可以使用 request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址。
我想问:request.getRealPath("")被废弃的原因是什么?
用面向对象的思路,怎么理解工程的物理路径是封装在Session里面呢? 展开
我想问:request.getRealPath("")被废弃的原因是什么?
用面向对象的思路,怎么理解工程的物理路径是封装在Session里面呢? 展开
2个回答
展开全部
request.getRealPath("") 就是取得你当前运行文件在服务器上的绝对路径.
request.getRealPath("")灵活性太差,只能得到当前文件绝对路径,不能在当前文件下获得其他文件的绝对路径
不是工程的物理路径封装在Session里 是工程的路径被封装在了ServletContext中
只是我们可以通过session对象获得这个ServletContext
获得ServletContext的方法:
1.FilterConfig的getServletContext();
2.ServletConfig的getServletContext();
3.ServletContextEvent的getServletContext()
4.HttpSession的getServletContext();
request.getRealPath("")灵活性太差,只能得到当前文件绝对路径,不能在当前文件下获得其他文件的绝对路径
不是工程的物理路径封装在Session里 是工程的路径被封装在了ServletContext中
只是我们可以通过session对象获得这个ServletContext
获得ServletContext的方法:
1.FilterConfig的getServletContext();
2.ServletConfig的getServletContext();
3.ServletContextEvent的getServletContext()
4.HttpSession的getServletContext();
展开全部
在目前最新的Java Servlet API
2.1版本中,不赞成使用request.getRealPath()这个方法,使用ServletContext.getRealPath(java.lang.String)代替它。
在Servlet
2.4文档中对ServletContext.getRealPath(java.lang.String)是这样描述的:
返回一个字符串,包含一个给定虚拟路径的真实路径,如果转换错误,则返回null。例如,虚拟路径“/index.html”不管在服务器文件系统上具有
怎样的真实路径,使用“/index.html”总可以找到它。返回的真实路径使用了相近于servlet容器(servlet
container)所在计算机或操作系统的格式,包含了适当的路径分隔符。如果servlet容器无法转换则将返回null.
request对象位于javax.servlet.http.HttpServletRequest包中,但在java
API中找不到
网上资料显示在J2EE API或Tomcat
API中可找到。
2.1版本中,不赞成使用request.getRealPath()这个方法,使用ServletContext.getRealPath(java.lang.String)代替它。
在Servlet
2.4文档中对ServletContext.getRealPath(java.lang.String)是这样描述的:
返回一个字符串,包含一个给定虚拟路径的真实路径,如果转换错误,则返回null。例如,虚拟路径“/index.html”不管在服务器文件系统上具有
怎样的真实路径,使用“/index.html”总可以找到它。返回的真实路径使用了相近于servlet容器(servlet
container)所在计算机或操作系统的格式,包含了适当的路径分隔符。如果servlet容器无法转换则将返回null.
request对象位于javax.servlet.http.HttpServletRequest包中,但在java
API中找不到
网上资料显示在J2EE API或Tomcat
API中可找到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询