博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于request.getRealPath(…
阅读量:4073 次
发布时间:2019-05-25

本文共 1345 字,大约阅读时间需要 4 分钟。

做个简单的后台用一下下。。
原文地址:
作者:

   1、此方法已过时,现在可替换的实现方法有

     request.getSession().getServletContext().getRealPath("/")   

     在Servlet 里用this.getServletContext().getRealPath("/");获得绝对路径。

     struts里用this.getServlet().getServletContext().getRealPath("/")获得绝对路径。

 

相关介绍:

    在目前最新的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.

 

    但是,ServletContext.getRealPath()的返回值经常返回不同的路径。

    例如:有2个文件

    exper1.txt,位于 C:Tomcat 6.0webappsROOT,

    exper2.txt,位于 C:Tomcat 6.0webapps,

    在C:Tomcat 6.0webappsROOT写一个.jsp文件:

    ServletContext context = getServletContext();

    context.getRealPath(“exper1.txt”)结果为C:Tomcat 6.0webappsROOTexper1.txt;     

    context.getRealPath(“exper2.txt”)结果为C:Tomcat 6.0webappsROOTexper2.txt;

    context.getRealPath(“exper3.txt”)结果仍为C:Tomcat 6.0webappsROOTexper3.txt 但是exper3这个文件是不存在的。这也就说明了getRealPath()这个方法是存在一定的问题的。

 

    application.getRealPath()的用法和ServletContext.getRealPath()基本相同,当把前面例子中的context改为application,得到的结果也是相同的,它也存在着相同的问题

   

    2、request对象位于javax.servlet.http.HttpServletRequest包中,但在java API中找不到

    网上资料显示在J2EE API或Tomcat API中可找到,暂无验证,有兴趣的朋友可以去试试

   

    3、上述方法可返回项目的完整路径,包括盘符、项目名等。  

转载地址:http://mieji.baihongyu.com/

你可能感兴趣的文章
Java大数据:全文搜索引擎Elasticsearch入门
查看>>
大数据学习:Hadoop入门学习书单
查看>>
大数据学习:Spark SQL入门简介
查看>>
大数据学习:Spark RDD操作入门
查看>>
大数据框架:Spark 生态实时流计算
查看>>
大数据入门:Hive和Hbase区别对比
查看>>
大数据入门:ZooKeeper工作原理
查看>>
大数据入门:Zookeeper结构体系
查看>>
大数据入门:Spark RDD基础概念
查看>>
大数据入门:SparkCore开发调优原则
查看>>
大数据入门:Java和Scala编程对比
查看>>
大数据入门:Scala函数式编程
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
【数据结构周周练】003顺序栈与链栈
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>