关于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);    }

效果如图:
这里写图片描述


文件目录


web.xml中的配置

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为荣耀手机耳机声音小怎么办 小米5x显示耳机怎么办 手机进水听音乐人声小怎么办 华为荣耀v8手机音量小怎么办 手机充电孔松了怎么办 华为荣耀7卡顿怎么办 华为手机话筒没声音怎么办 苹果x耳机进水了怎么办 苹果6p进水了怎么办 华为手机声音变耳机模式怎么办 手机设置成耳机模式怎么办 opop耳机一个没有声音怎么办 oppo手机上显示耳机模式怎么办 微信显示耳机模式怎么办 微信变成耳机模式怎么办 5s变成耳机模式怎么办 华为手机一直是耳机模式怎么办 华为手机进水了耳机模式怎么办 蓝牙耳机通话声音小怎么办 华为手机自动进入耳机模式怎么办 华为手机耳机怎么挂了电话怎么办 华为手机听筒声音小怎么办 华为p9手机听筒声音小怎么办 苹果6总是耳机模式怎么办 苹果没有插耳机模式怎么办 苹果手机切换耳机模式怎么办 苹果6s出现耳机模式怎么办 苹果6变成了耳机模式怎么办 苹果手机成耳机模式了怎么办 华为mate8耳机声音小怎么办 移动sim卡丢了怎么办 蓝牙耳机开不开机怎么办 苹果手机蓝牙不匹配怎么办 苹果6蓝牙坏了怎么办 蓝牙密钥不正确不匹配怎么办 华为p6开不了机怎么办 华为c199手机不停重启怎么办 华为手机用户数据被锁定怎么办 朵唯手机丢了怎么办 网件r6220穿墙差怎么办 无线网打王者卡怎么办