从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();
out.println("path:"+path+"<br>");
out.println("basePath:"+basePath+"<br>");
out.println("remoteAddr:"+remoteAddress+"<br>");
out.println("servletPath:"+servletPath+"<br>");
out.println("realPath:"+realPath+"<br>");
out.println("remoteUser:"+remoteUser+"<br>");
out.println("requestURI:"+requestURI+"<br>");
结果:
path:/WebDemo
basePath:http://localhost:8683/WebDemo/
remoteAddr:127.0.0.1
servletPath:/index.jsp
realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\
remoteUser:null
requestURI:/WebDemo/index.jsp
从上不难看出request各个对应方法所代表的含义
从request获取各种路径总结:
request.getRealPath("url");//虚拟目录映射为实际目录
request.getRealPath("./");//网页所在的目录
request.getRealPath("../");//网页所在目录的上一层目录
假定你的web application(web应用)名称为news,你的浏览器中输入请求路径:http://localhost:8080/uploading/load.jsp
request.getContextPath() => /uploading
request.getServletPath() => /load.jsp
request.getRequestURL() => http://localhost:8080/uploading/load.jsp
request.getRealPath("/") => F:\learn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\uploading\
现在request.getRealPath("/") 这个方法已经不推荐使用了
可以使用
ServletContext.getRealPath(java.lang.String) instead.
request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址
//Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request
// eg. /manage/editExam.domethod=goExamSet&type=U
String url = request.getRequestURI();
//The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters
//eg. http://127.0.0.1:8080/manage/editExam.domethod=goExamSet&type=U
StringBuffer url_buffer = request.getRequestURL();
HttpServletRequest 的这两种方法都只能得到不包含参数的请求url,区别如下:
1 前者返回相对路径,后者返回完整路径
2 前者返回string ,后者返回stringbuffer
要想得到完整请求url可以通过如下方法,getQueryString()得到的是url后面的参数串,和前者相加就是带参数的请求路径了
String queryString = request.getQueryString();
String fullPath = url + queryString; // 或者是url_buffer.toString()+queryString;
分享到:
相关推荐
request获取url以及其参数
本页地址: Request.URL; 上页地址: 代码如下: Request....Request中有多种方法获取 url信息,但我经常忘了各种方法的具体作用,今天我就写了个测试程序,将各种方法得到的结果列出来,以后用时直接参考一下就行
该代码是介绍JAVA获取当前系统的url,与大家分享,请大家下载!
下面小编就为大家带来一篇jsp Request获取url信息的各种方法对比。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
#########start 获取url的返回信息############ def jwkj_url_postget(url,vlaues): data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) str = resp
java中对象的作用,如何获取Request对象 java中对象的作用,如何获取Request对象
//获取客户端请求的URL信息(不包括主机和端口) string rawUrl = Request.RawUrl; //获取站点名+页面名 string absolutePath = Request.Url.AbsolutePath; //获取主机部分 string urlHost = Request.Url.Host; /...
GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。另外,还有PUT和DELETE方法。 POST和GET都可以与服务器完成查,改,增,删操作。 GET提交,请求的数据会附在URL之后,以?分割URL和传输数据,多个参数...
本文通过实例代码给大家介绍了js中获取URL参数的共用方法getRequest()方法 ,文末给大家提到了js获取url参数值的两种方式,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF
把获取到的Request对象分割成字符串数组,通过split() 方法。 接下来看代码。 function getUrlVars() { var vars = [], hash; var hashes = [removed].href.slice[removed].href.indexOf('?')
通过网页地址URL的参数传递。 例如:http://localhost:8080/text.mxml?myName=good&myValue=goods 在mxml里面获取到good同goods
本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧。 方法一: //取url参数 var type = request("type") ...
本文实例讲述了js获取url传值的方法。分享给大家供大家参考,具体如下: js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&…… 静态html文件js读取url参数 根据获取html的参数值控制...
通过webrequest, webclient两种方式请求url获取对应的返回值
获取Url的方法有两种,通过后台获得或通过前面js获得,如下: 1、通过C#获取当前页面的URL string url = Request.Url.AbsoluteUri; //结果: //www.jb51.net/web/index.aspx string host = Request.Url.Host; //结果...
你不需要设置路由,只需要在url后拼接参数即可,但是这种方式就需要通过javascript获取并提取url中的参数,通过传统的方式直接在页面中获取是行不通的了,因为vue中是无法通过location.search()来获取url问号之后的...