zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    用jmeter进行多用户并发压力测试
    Jmeter使用流程及简单分析监控
    检查点--JMeter也有之二“检查点”
    浅谈如何做好Bug回归验证?
    手机APP测试技术-整体测试流程框架
    常用的sql语句
    Jmeter实时性能测试数据的监控
    Jmeter插件之PerfMon监控插件使用说明
    Requests: 让 HTTP 服务人类
    安装mysql数据库图文教程
  • 原文地址:https://www.cnblogs.com/hahajava/p/12895479.html
Copyright © 2011-2022 走看看