从HttpServletRequest获取各种路径总结
来源:互联网 发布:正德福飞机模型淘宝 编辑:程序博客网 时间:2024/06/06 13:05
关于request.getRealPath()
1、此方法已过时,现在可替换的实现方法有
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("attach") 参数可具体到包名。
结果:E:\Tomcat\webapps\TEST\attach
(2)得到IE地址栏地址:request.getRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test
<span style="font-size:12px;">test1.jsp=======================<a href ="test.jsp?p=fuck">跳转到test2</a>test2.jsp=======================<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>< % String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";out.println("basePath:"+basePath); out.println("<br/>"); out.println("getContextPath:"+request.getContextPath()); out.println("<br/>"); out.println("getServletPath:"+request.getServletPath()); out.println("<br/>"); out.println("getRequestURI:"+request.getRequestURI()); out.println("<br/>"); out.println("getRequestURL:"+request.getRequestURL()); out.println("<br/>"); out.println("getRealPath:"+request.getRealPath("/")); out.println("<br/>"); out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/")); out.println("<br/>"); out.println("getQueryString:"+request.getQueryString());%></span>
显示结果:
basePath:http://localhost:8080/test/
getContextPath:/test
getServletPath:/test.jsp
getRequestURI:/test/test.jsp
getRequestURL:http://localhost:8080/test/test.jsp
getRealPath:D:\Tomcat 6.0\webapps\test\
getServletContext().getRealPath:D:\Tomcat 6.0\webapps\test\
getQueryString:p=fuck
在一些应用中,未登录用户请求了必须登录的资源时,提示用户登录,此时要记住用户访问的当前页面的URL,当他登录成功后根据记住的URL跳回用户最后访问的页面:
String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();
- 从HttpServletRequest获取各种路径总结
- HttpServletRequest获取各种路径的总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取工程各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- 从request获取各种路径总结
- Effective C++ 3e----new & delete(八)条款2:写了placement new也要写placement delete
- LeetCode 2016 338,347,343
- Java之旅--跨域(CORS)
- 《深入浅出Node.js》学习笔记——(三)异步I/O
- c语言的数据类型在oc中的对应
- 从HttpServletRequest获取各种路径总结
- Python模块学习——optparse
- 最长的连续相同字符的字符串和最长连续不相同字符的子字符串问题
- java-IO操作——使用字节流读写数据
- 三种主流Web架构
- javaweb总结(4) - HTTP协议
- 解决JLINK v8 连接到电脑后显示无法识别的USB设备
- javac命令无法使用解决办法
- Base 128 Varints 编码