java getrealpath_从request获取各种路径总结 request.getRealPath(“url”)

java getrealpath_从request获取各种路径总结 request.getRealPath(“url”)equest getRealPath 这个方法已经不推荐使用了 代替方法是 request getSession getServletCo getRealPath 从 Request 对象中可以获取各种路径信息 以下例子 假设请求的页面是 index jsp 项目是 WebDemo 则在 index jsp 中获取有关 request 对象的各种路径信息如下 Stringpath requ

equest.getRealPath() 这个方法已经不推荐使用了,代替方法是:

request.getSession().getServletContext().getRealPath()

从Request对象中可以获取各种路径信息,以下例子:

假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下

String path=request.getContextPath();

String basePath= request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;

String remoteAddress=request.getRemoteAddr();

String servletPath=request.getServletPath();

String realPath=request.getRealPath(“/”);

String remoteUser=request.getRemoteUser();

String requestURI=request.getRequestURI();

结果:

path:/WebDemo

basePath:http://localhost:8683/WebDemo/

remoteAddr:127.0.0.1servletPath:/index.jsp

realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\

remoteUser:nullrequestURI:/WebDemo/index.jsp

从上不难看出request各个对应方法所代表的含义

参考servlet中的接口:

request.getScheme();

返回的协议名称,默认是http

request.getServerName()

返回的是你浏览器中显示的主机名,你自己试一下就知道了

getServerPort()

获取服务器端口号

例如:

TestServlet

/servlet/test/*

dwr为工程名

http://localhost:8080/dwr/servlet/test/joejoe1991/a.html?name=test

getPathInfo() 返回的仍然是:

“/joejoe1991/a.html” ,而并不包括后面的”?name=test”;

在servlet里用this.getServletContect().getRealPath()

在struts里用this.getServlet().getServletContext().getRealPath()

在Action里用ServletActionContext.getRequest().getRealPath();

以上三个获得都是当前运行文件在服务器上的绝对路径

从request获取各种路径总结

request.getRealPath(“url”); // 虚拟目录映射为实际目录

request.getRealPath(“./”);    // 网页所在的目录

request.getRealPath(“../”); // 网页所在目录的上一层目录

request.getContextPath();    // 应用的web目录的名称

如http://localhost:7001/bookStore/

/bookStore/ => [contextPath] (request.getContextPath())

获取Web项目的全路径

String strDirPath = request.getSession().getServletContext().getRealPath(“/”);

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI()

结果:/TEST/test.jsp

(2)得到工程名:request.getContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:request.getServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/test.jsp

(4)得到页面所在服务器的全路径:application.getRealPath(“页面.jsp”)

结果:D:\resin\webapps\TEST\test.jsp

(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();

结果:D:\resin\webapps\TEST

2.在类中取得路径:

(1)类的绝对路径:Class.class.getClass().getResource(“/”).getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:System.getProperty(“user.dir”)

结果:D:\TEST

3.在Servlet中取得路径:

(1)得到工程目录:request.getSession().getServletContext().getRealPath(“”) 参数可具体到包名。

结果:E:\Tomcat\webapps\TEST

(2)得到IE地址栏地址:request.getRequestURL()

结果:http://localhost:8080/TEST/test

(3)得到相对地址:request.getRequestURI()

结果:/TEST/test

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226224.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午7:34
下一篇 2026年3月17日 上午7:34


相关推荐

  • Python全栈工程师(集合、函数)

    Python全栈工程师(集合、函数)ParisGabrielParisGabriel感谢大家的支持你们的阅读评价就是我最好的动力我会坚持把排版内容以及偶尔的错误做的越来越好每天坚持一天一篇点个订阅吧灰常感谢当个死粉也

    2022年7月5日
    26
  • java激活码-激活码分享

    (java激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~B…

    2022年3月22日
    290
  • java递归查询数据库数据[通俗易懂]

    java递归查询数据库数据[通俗易懂]先查询第一层的数据,然后调用递归循环第一层的数据,查询父Id等于第一层的Id,执行完成后第一层一下的所有数据就全部查询出来了。。。publicList<Information>getTreeList(IntegertopId){ Stringhql="fromInformationwhereisDelete=2andid="+topId; List&l…

    2025年11月23日
    4
  • no input file specified 三种解决方法

    no input file specified 三种解决方法一.IIS Noinputfilespecified方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS方法二:请修改php.ini找到;cgi.force_redirect=1去掉前面分号,把后面的1改为0即cgi.force_redirect=0二.apache Noinputfilespecifi…

    2022年7月25日
    16
  • Linux集群分发脚本xsync[通俗易懂]

    Linux集群分发脚本xsync[通俗易懂]Linux集群分发脚本xsync1.scp(securecopy)安全拷贝2.rsync远程同步工具3.xsync集群分发脚本4.免密登陆1.scp(securecopy)安全拷贝1)scp定义:scp可以实现服务器与服务器之间的数据拷贝(fromserver1toserver2)2)基本语法scp-r$pdir/$fname…

    2022年5月5日
    287
  • NMAKE编译CTK[通俗易懂]

    NMAKE编译CTK[通俗易懂]NMAKE编译CTK启动编译环境从VC中启动命令行或通过VC提供的批处理启动命令行,以能运行编译环境。如果装了多个VC版本,注意使用想要的VC版本启动安装编译环境。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5YlX5Gta-1597631378020)(study/image-20200815174602043.png)]再启动cmaked:\soft\ProgramFiles(x86)\MicrosoftVisualtudio\2017\Commun

    2022年6月5日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号