HttpServletRequest获取URL(参数,路径,端口号,协议等)详解
Posted 叶涛网站推广优化
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServletRequest获取URL(参数,路径,端口号,协议等)详解相关的知识,希望对你有一定的参考价值。
首页 > Java Web > SpringMvc应用 > HttpServletRequest
HttpServletRequest获取URL常用方法如下:
假设客户端请求的地址url:http://localhost:8082/TestReq/MyServlet/username=51gjie&age=20
//客户请求求的URL,不包括参数数据
request.getRequestURL //返回http://localhost:8082/TestReq/MyServlet
//将URL的域名和尾随的参数截取掉,剩下的那部分就是URI
request.getRequestURI //返回/TestReq/MyServlet
//返回URL上的参数部分的字符串,必须是GET的请求才有效,不然报错
request.getQueryString //返回username=51gjie&age=20
//返回请求的方案名,如http,ftp,https等
request.getScheme //返回http
//HTTP请求的的方法名,默认是GET,也可以指定PUT或POST
request.getMethod //返回GET
//即斜杆加工程名
request.getContextPath //返回/TestReq
//服务器主机名
request.getServerName //返回localhost
//服务器上web应用的访问端口
request.getServerPort request.getLocalPort //返回8082
//返回请求的协议名和版本,如HTTP/1.1等
request.getProtocol //返回HTTP/1.1
//工程部署的完整路径字符串接上参数中的字符串
request.getRealPath("/WEB-INF") //返回d:\\omc_jboss\\server\\default\\.\\deploy\\TestReq.war\\WEB-INF
//工程之后到参数之前的这部分字符串
request.getServletPath //返回/MyServlet
//字符串包含与客户端发送请求的URL相关的额外信息
request.getPathInfo //返回null
//请求URL体内容的长度,只对POST和PUT类型的请求有效
request.getContentLength //返回-1
//返回一个表示在服务器文件系统上的PathInfol转换成路径的字符串
request.getPathTranslated //返回null
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。
如何从 HttpServletRequest 获取请求 url [重复]
【中文标题】如何从 HttpServletRequest 获取请求 url [重复]【英文标题】:How to get the request url from HttpServletRequest [duplicate] 【发布时间】:2011-02-21 02:07:50 【问题描述】:假设我发出这样的获取请求:
GET http://cotnet.diggstatic.com:6000/js/loader/443/JS_Libraries,jquery|Class|analytics|lightbox|label|jquery-dom|jquery-cookie?q=hello#frag HTTP/1.0
Host: cotnet.diggstatic.com:6000
我的 servlet 接受这样的请求: HttpServletRequest 请求;
当我调试我的服务器并执行时,我得到以下信息:
req.getRequestURL().toString() = "http://cotnet.diggstatic.com:6000/js/loader/443/JS_Libraries,jquery%7cClass%7canalytics%7clightbox%7clabel%7cjquery-dom%7cjquery-cookie"
req.getRequestURI() = "/js/loader/443/JS_Libraries,jquery%7cClass%7canalytics%7clightbox%7clabel%7cjquery-dom%7cjquery-cookie"
req.getQueryString() = "q=hello"
如何获取片段信息? 此外,当我调试请求时,我看到一个 java.net.URI 类型的 uri_ 字段,其中包含片段信息。这正是我想要的。我怎样才能得到它?
【问题讨论】:
【参考方案1】:“片段标识符的功能与 URI 的其余部分不同:即,它的处理仅在客户端进行,没有服务器的参与。” Wikipedia about the Frament Identifiert
如需进一步参考,请参阅RFC 2394 Section 4.1
【讨论】:
以上是关于HttpServletRequest获取URL(参数,路径,端口号,协议等)详解的主要内容,如果未能解决你的问题,请参考以下文章
HttpServletRequest获取URL(参数,路径,端口号,协议等)详解
如何从 HttpServletRequest 获取请求 url [重复]