关于JavaWeb中Servlet里基本路径获取的总结
来源:互联网 发布:软件服务外包英文 编辑:程序博客网 时间:2024/05/22 07:57
我们常常要为重定向、请求收发器指定一个路径。一般来说我们指定一个相对路径。随着学习的深入,我们会需要更加精确地获取文件的路径,文件父级目录。下面我们来说一下可能会用到的几个方法。
首先是获取全路径的request.getRequestURL()。这个函数蛮重要的,直接获取到当前文件的目录,并且携带协议、域名、端口号前缀,也就是说,我们可以使用这个函数返回当前文件的绝对路径。同时,这个函数的名称也十分直白:获取请求(的文件的)URL(统一资源定位符)。
下面我们一点点来,先说获取协议名:request.getScheme(),这里获取到http
然后我们需要获取服务器名称request.getServerName()
再然后就是服务器占用端口号request.getServerPort()
最后我们需要一个非常好用的函数request.getRequestURI(),这个函数直接返回当前文件的”根目录 + url-pattern”,不包括前缀,前面只到项目名那一级。
如果只是想获得项目根目录,只需要写request.getContextPath()意思也很直白,获取上下文路径,或者说获取环境路径。
当我们想获取上一级目录下的某个文件,相对路径中我们可以
用”../想要访问的文件”如果硬要用代码获取父级目录名称也是可以的:
String path = request.getRequestURI();
String subpath = path.substring(0,path.lastIndexOf(‘/’)-1);
String parentFile = subpath.substring(subpath.lastIndexOf(‘/’)+1);
System.out.println(“filefold is ” + parentFile);
代码出自:JSP中如何获取存放xxx.jsp文件的父文件夹名称?
下面我用一个小demo来看一下各个函数获取的效果:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("request.getRequestURL()返回的结果:"+request.getRequestURL()); System.out.println("request.getScheme()返回的结果:"+request.getScheme()); System.out.println("request.getServerName()返回的结果:"+request.getServerName()); System.out.println("request.getServerPort()返回的结果:"+request.getServerPort()); System.out.println("request.getRequestURI()返回的结果:"+request.getRequestURI()); System.out.println("-----------华丽的分割线-------------"); String requestContextPath=request.getContextPath(); System.out.println("request.getContextPath()返回的结果:"+requestContextPath); }
效果如图:
- 关于JavaWeb中Servlet里基本路径获取的总结
- java中关于获取路径的总结
- jsp 和 Servlet中获取路径的各种方法总结
- 关于javaweb中servlet的理解。
- javaweb中获取文件路径的方法
- javaweb中路径的书写总结
- javaweb中路径的书写总结
- servlet中获取路径
- javaWeb中表示路径的字符串里面首斜杠'/'是什么意思
- python中关于路径获取的相关函数总结
- JavaWeb中关于路径的一些总结(小白写给小白)
- servlet中获取路径的方法
- JavaWeb项目中web.xml有关servlet的基本配置
- JavaWeb中关于过滤器的总结
- 如何在java类中获取javaWeb的根路径
- javaWeb中getContextPath()等方法获取路径的区别
- JavaWeb的Filter中获取当前项目物理路径
- 关于基本Servlet的路径配置问题(可一般化)
- 写给前端小白的切图技巧(实用)
- Android 开发者的 RxJava 详解
- 机房收费系统(一)
- 联想Linux中WIFI已通过硬件开关关闭
- 【基础试题】回文数弱版 Time Limit:10000MS Memory Limit:65536K Total Submit:271 Accepted:87 Case Time Limit:1
- 关于JavaWeb中Servlet里基本路径获取的总结
- 信息安全方面图灵奖得主回顾
- easyui-combobox 动态添加选项
- 关于线程的简单介绍
- 我的Android之旅(二十一)---JSON数据解析
- 【基础试题】矩阵问题 Time Limit:10000MS Memory Limit:65536K Total Submit:401 Accepted:267 Case Time Limit:1
- linux MySQL Community Server 5.7.9 更换数据目录位置
- mysql导出xlsqwen文件要包含表头
- 51nod 1133 不重叠的线段