zoukankan      html  css  js  c++  java
  • Web应用中request获取path,URI,URL

    Web应用中有各种获取path或URI,URL的方法,假设网页访问地址:

    http://localhost:8080/tradeload/TestServlet

    Web应用context: /tradeload 

    各路径鉴定如下:

    Java代码  
    1. request.getContextPath()= /tradeload   
    2. request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()= http://localhost:8080   
    3. request.getRequestURL() = http://localhost:8080/tradeload/TestServlet   
    4. request.getRequestURI() = /tradeload/TestServlet   
    5. request.getPathInfo() = null   
    6. request.getServletPath() = /TestServlet   
    7. getServletContext().getRealPath('/') = C:serverglassfishdomainsdomain1applicationsj2ee-modules radeload   

    其中的servletpath就是web.xml中配置的url-pattern。

    -------------------------------------------------------------------------------

    假定你的web application 名称为news,你在浏览器中输入请求路径: 
    http://localhost:8080/news/main/list.jsp 
    

    则执行下面向行代码后打印出如下结果:
    1、System.out.println(request.getContextPath());
    打印结果:/news
    2、System.out.println(request.getServletPath());
    打印结果:/main/list.jsp
    3、System.out.println(request.getRequestURI());
    打印结果:/news/main/list.jsp
    4、System.out.println(request.getRealPath("/"));
    打印结果:F:Tomcat 6.0webapps ews est

    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    out.println("basePath:"+basePath);
    out.println("<br/>");
    out.println("getContextPath:"+request.getContextPath());
    out.println("<br/>");
    out.println("getServletPath:"+request.getServletPath());
    out.println("<br/>");
    out.println("getRequestURI:"+request.getRequestURI());
    out.println("<br/>");
    out.println("getRequestURL:"+request.getRequestURL());
    out.println("<br/>");
    out.println("getRealPath:"+request.getRealPath("/"));
    out.println("<br/>");
    out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
    out.println("<br/>");
    out.println("getQueryString:"+request.getQueryString());

    显示结果:

    basePath:http://localhost:8080/test/

    getContextPath:/test
    getServletPath:/test.jsp
    getRequestURI:/test/test.jsp
    getRequestURL:http://localhost:8080/test/test.jsp
    getRealPath:D:Tomcat 6.0webapps est
    getServletContext().getRealPath:D:Tomcat 6.0webapps est
    getQueryString:p=fuck

    在一些应用中,未登录用户请求了必须登录的资源时,提示用户登录,此时要记住用户访问的当前页面的URL,当他登录成功后根据记住的URL跳回用户最后访问的页面:

    String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();






  • 相关阅读:
    Azkaban3.81.x部署+坑
    MapReduce on Yarn运行原理
    伪分布式Spark + Hive on Spark搭建
    Hadoop版本升级(2.7.6 => 3.1.2)
    Hadoop运行原理总结(详细)
    Scala函数柯里化(Currying or Curry)
    ubuntu安装伪分布式Hadoop3.1.2
    ubuntu16.04安装mysql
    前端每日知识点分享(总结版)
    浅析 CSS 中的边距重叠
  • 原文地址:https://www.cnblogs.com/jpfss/p/8945390.html
Copyright © 2011-2022 走看看