`

【java】js、java获取URL请求路径信息

 
阅读更多

    有时候,我们需要对请求路径做处理,例如url重定向,或者为url追加参数,我们可以使用js在前端对请求路径做处理, 也可以使用java在后端对请求路径做处理。

 

  • 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"
 

 

  • 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"
分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java开源包4

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包101

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包11

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包6

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包9

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包8

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包10

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包5

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包1

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包3

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java命名规范 开发规范

    统一采用全路径请求,URL格式: 1> basePath/web/moduleName/*_ *.action {1}  EntityName,{2}  ActionMethodName 2> basePath/web/moduleName/gotoXxx.action (无需调用Service,直接跳转) 包括jQuery的Ajax...

    基于适配spring boot工程开发,在以spring boot框架为基础的项目工程中的pom.xml文件引入的工具包

    hm-tools-js-css 功能:根据URL请求参数将多个javascript文件合并成一个javascript文件返回给请求者。根据URL请求参数将多个css文件合并成一个css文件返回给请求者。支持从当前运行的spring boot工程jar包中读取...

    java开源包2

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包7

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    Java资源包01

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    javascript将相对路径转绝对路径示例

    这里介绍的其实本质上是两种方法,通过创建DOM或通过JavaScript计算: 1)通过新创建的Image, 经测试会... // 设置相对路径给Image, 此时会发送出请求 url = img.src; // 此时相对路径已经变成绝对路径 img.src =

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+...

Global site tag (gtag.js) - Google Analytics