{"id":331,"date":"2012-10-05T17:17:25","date_gmt":"2012-10-05T08:17:25","guid":{"rendered":"http:\/\/www.freesens.com\/x\/?p=331"},"modified":"2012-10-05T17:17:26","modified_gmt":"2012-10-05T08:17:26","slug":"httpservletrequest-url-parsing","status":"publish","type":"post","link":"http:\/\/www.freesens.com\/x\/?p=331","title":{"rendered":"HttpServletRequest :: url parsing"},"content":{"rendered":"<pre>\/\/ <a title=\"http:\/\/hostname.com:80\/mywebapp\/servlet\/MyServlet\/a\/b;c=123?d=789\" href=\"http:\/\/hostname.com\/mywebapp\/servlet\/MyServlet\/a\/b;c=123?d=789\">http:\/\/hostname.com:80\/mywebapp\/servlet\/MyServlet\/a\/b;c=123?d=789<\/a>\r\npublic static String getUrl(HttpServletRequest req) {\r\n    String scheme = req.getScheme();             \/\/ http\r\n    String serverName = req.getServerName();     \/\/ hostname.com\r\n    int serverPort = req.getServerPort();        \/\/ 80\r\n    String contextPath = req.getContextPath();   \/\/ \/mywebapp\r\n    String servletPath = req.getServletPath();   \/\/ \/servlet\/MyServlet\r\n    String pathInfo = req.getPathInfo();         \/\/ \/a\/b;c=123\r\n    String queryString = req.getQueryString();          \/\/ d=789\r\n\r\n    \/\/ Reconstruct original requesting URL\r\n    String url = scheme+\":\/\/\"+serverName+\":\"+serverPort+contextPath+servletPath;\r\n    if (pathInfo != null) {\r\n        url += pathInfo;\r\n    }\r\n    if (queryString != null) {\r\n        url += \"?\"+queryString;\r\n    }\r\n    return url;\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\/\/ http:\/\/hostname.com:80\/mywebapp\/servlet\/MyServlet\/a\/b;c=123?d=789 public static String getUrl(HttpServletRequest req) { String scheme = req.getScheme(); \/\/ http String serverName = req.getServerName(); \/\/ hostname.com int serverPort = req.getServerPort(); \/\/ 80 String contextPath = req.getContextPath(); \/\/ \/mywebapp String servletPath = req.getServletPath(); \/\/ \/servlet\/MyServlet String pathInfo = req.getPathInfo(); \/\/ \/a\/b;c=123 String queryString = req.getQueryString(); \/\/ d=789 \/\/ Reconstruct original requesting URL &hellip; <a href=\"http:\/\/www.freesens.com\/x\/?p=331\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HttpServletRequest :: url parsing<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-331","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/posts\/331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=331"}],"version-history":[{"count":1,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/posts\/331\/revisions"}],"predecessor-version":[{"id":332,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=\/wp\/v2\/posts\/331\/revisions\/332"}],"wp:attachment":[{"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=331"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.freesens.com\/x\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}