如何在Java中获取完整的请求URL
我有一个像如何在Java中获取完整的请求URL,java,jakarta-ee,Java,Jakarta Ee,我有一个像 www.abc.com/;jsessionid=53AA662D24A89922031913A6E85A005B 很抱歉,我不能在这里指定我的实际站点名称,因此使用abc.com 当上面的url被点击时,我想脱衣;jsessionid=53AA662D24A89922031913A6E85A005B,并重定向到本例中的实际urlhttp://www.abc.com/. 我在servlet中尝试了许多方法来了解请求的URL是否具有“jsessionid”,但我找不到一个方法可以在HT
www.abc.com/;jsessionid=53AA662D24A89922031913A6E85A005B
很抱歉,我不能在这里指定我的实际站点名称,因此使用abc.com
当上面的url被点击时,我想脱衣;jsessionid=53AA662D24A89922031913A6E85A005B,并重定向到本例中的实际urlhttp://www.abc.com/.
我在servlet中尝试了许多方法来了解请求的URL是否具有“jsessionid”,但我找不到一个方法可以在HTTP请求对象上返回完整的请求URL
我在HTTP请求对象上尝试了以下方法
getRequestURI
getRequestURL
getContextPath
getPathInfo
但它们不会返回带有JSSessionID的完整请求url
我尝试过getParameter,getParameterNames,但没有帮助,因为上面的url没有?在jsessionid之前。以下是如何在Servlet中检索上面的完整url
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String url = request.getRequestURL().toString();
System.out.println(url);
}
谢谢你的回复。我试过了,但没有成功。这里我举了一个例子:在这个链接中,我想检索servlet中的jsessionid值。作为第一个?在JSSessionID之前不存在,我无法检索它。请您帮助我如何检索它。当指定这样一个“示例”站点名称时,标准做法是使用example.com而不是abc.com。实际的域example.com保留用于此用途,而abc.com指向一个真实的站点,显然不是您的站点
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String jSessionId=request.getParameter("jsessionid");
System.out.println("jSessionId:"+jSessionId);
}