我有一个像
这样的网址www.abc.com/;jsessionid=53AA662D24A89922031913A6E85A005B
(抱歉,我无法在此处指定我的实际网站名称,因此请使用abc.com
)
当上面的网址被点击时,我想从后端(在我的servlet中)的上面的网址中删除;jsessionid=53AA662D24A89922031913A6E85A005B
并重定向到实际的网址(在此示例中为http://www.abc.com/
)。
我已经在servlet中尝试了很多方法来了解请求的URL是否具有'jsessionid',但是我找不到一个方法来返回HTTP请求对象上的完整请求的URL
我在HTTP请求对象上尝试了以下方法
getRequestURI()
getRequestURL()
getContextPath()
getPathInfo()
但他们没有使用jsessionid
返回完整的请求网址。
我已尝试getParameter()
,getParameterNames()
但没有任何帮助,因为上面的网址在?
之前没有jsessionid
。
答案 0 :(得分:6)
以下是如何在Servlet中检索上面的完整URL
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String url = request.getRequestURL().toString();
System.out.println(url);
}
答案 1 :(得分:2)
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String jSessionId=request.getParameter("jsessionid");
System.out.println("jSessionId:"+jSessionId);
}