request如何获取完整url(包括域名、端口、参数)
作者:shuaipu813
这篇文章主要介绍了request如何获取完整url(包括域名、端口、参数)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
request获取完整url(包括域名、端口、参数)
在servlet请求中,使用request获取整个请求url:
String url="http://" + request.getServerName() //服务器地址 + ":" + request.getServerPort() //端口号 + request.getRequestURI();
然后判断有没有参数:
String queryurl=httprequest.getQueryString(); if(null!=queryurl){ url+="?"+queryurl; }
这样获取到的就是整个请求的url
常见Request获取URL的方法
1、request.getRequestURL()
返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数。
2、request.getRequestURI()
得到的是request URL的部分值,并且web容器没有decode过的
3、request.getContextPath()
返回 the context of the request.
4、request.getServletPath()
返回调用servlet的部分url.
5、request.getQueryString()
返回url路径后面的查询字符串
示例:
当前url:http://localhost:8080/CarsiLogCenter_new/idpstat.jsp?action=idp.sptopn
request.getRequestURL() http://localhost:8080/CarsiLogCenter_new/idpstat.jsp request.getRequestURI() /CarsiLogCenter_new/idpstat.jsp request.getContextPath() /CarsiLogCenter_new request.getServletPath() /idpstat.jsp request.getQueryString() action=idp.sptopn
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。