我有一个URL,形成如下: http://localhost:8080/app/angular/users/#/update/745
当我尝试使用request.getRequestURL()
获取网址时,我会获得直到http://localhost:8080/app/angular/users的网址。我尝试了HTTPServletRequest
的不同方法,但都没有效果。
有人可以帮忙吗?我需要了解如何获得完整的URL,以及#。
的内容答案 0 :(得分:0)
#
是片段标识符。您无法获取数据,它不会被发送到服务器。
How to get full URL which contains # from HttpServletRequest
要解决此问题,请不要使用#
作为传递参数的方法。坚持使用请求参数,例如http://localhost:8080/app/angular/users/update?id=745
,并在Controller上的GET方法中读取Spring,或者将其用作路径变量,例如http://localhost:8080/app/angular/users/update/745
,也可以从Spring控制器中检索。
答案 1 :(得分:0)
getPathInfo()在URI之后提供额外的路径信息,用于访问您的Servlet,其中getRequestURI()提供完整的URI。
我认为它们会有所不同,因为Servlet必须首先配置自己的URI模式;我不认为我曾经从根(/)。
服务过Servlet例如,如果Servlet' Foo'被映射到URI' / foo'然后我会想到URI:
/富/路径/到/资源 会导致:
RequestURI = / foo / path / to / resource 和
PathInfo = / path / to / resource