【java、js】獲取URL請求路徑信息


 

 

 

有時候,我們需要對請求路徑做處理,例如url重定向,或者為url追加參數,我們可以使用js在前端對請求路徑做處理, 也可以使用java在后端對請求路徑做處理。

  • java獲取請求路徑信息

  • 開發javaweb項目時,  需要web容器,  例如tomcat是一個常用的javaweb容器, 該容器會為我們的servlet(假如沒有使用mvc框架, 如struts2、springmvc)提供一個HttpServletRequest對象, 通過訪問該對象, 我們可以獲取到請求路徑信息, 示例如下:
//測試的請求url, get方法  
//"http://localhost:8080/struts2/user/login.action?userid=1000"  
   
//獲取請求方法  
request.getMethod();        //返回"GET"  
   
//獲取請求協議  
request.getScheme();        //返回"http"  
   
//獲取請求域名(IP地址);  
request.getServerName();    //返回"localhost"  
   
//獲取請求端口號  
request.getServerPort();    //返回"8080"  
   
//獲取請求URL, 不包括請求參數  
request.getRequestURL();    //返回"http://localhost:8080/struts2/user/login.action"  
   
//獲取請求URI, 也不包括請求參數, 相當於contextPath + servletPath  
request.getRequestURI();    //返回"/struts2/user/login.action"  
   
//獲取請求參數, 不帶問號"?"  
request.getQueryString();   //返回"userid=1000"   
   
//獲取請求協議  
request.getProtocol();      //返回"HTTP/1.1"  
   
//獲取Web應用程序路徑  
request.getContextPath();   //返回"/struts2"  
   
//獲取請求資源路徑  
request.getServletPath();   //返回"/user/login.action"

 

root形式獲取:

ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
            String sessionId = RequestContextHolder.getRequestAttributes().getSessionId();//獲取Session
            HttpServletRequest request = attributes.getRequest();  //獲取HttpServletRequest
            String key = sessionId + "-" + request.getServletPath();//獲取ServletPath

 

 

  • js獲取請求路徑信息

  • js有個全局變量location,操作這個對象就等於操作瀏覽器的地址欄,下面我們觀察一下location對象可以獲取到什么url信息

 

//測試的請求url, get方法  
//"http://localhost:8080/struts2/user/login.action?userid=1000#topic1"  
   
//獲取請求協議  
location.protocol;    //返回"http:"  
   
//獲取請求服務器域名(IP地址),   
location.hostname;    //返回"localhost"  
   
//獲取請求服務器端口號  
location.port;        //返回"8080"  
   
//獲取請求服務器的域名(IP地址)和端口號  
location.host;        //返回"localhost:8080"  
   
//獲取請求資源名  
location.pathname;    //返回"/struts2/user/login.action"  
   
//獲取錨點  
location.hash;        //返回"#topic1"  
   
//獲取請求參數  
location.search;      //返回?userid=1000", 注意: 如果請求地址只有"?"后面卻沒有請求參數, 則返回空字符串  
   
//返回整個url地址, 包含以上所有信息  
location.href;        //返回"http://localhost:8080/struts2/user/login.action#topic1?userid=1000#topic1"  

 

 

原文參考:https://www.iteye.com/blog/lizhuquan0769-2230749

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM