zoukankan      html  css  js  c++  java
  • jsp request 获取路径

    这篇教程不错:http://zjutsoft.iteye.com/blog/1084260

    自己试验如下:

    System.out.println("-----------------servlet-----------------");
    System.out.println("realpath null:"+request.getRealPath(""));
    System.out.println("realpath index.jsp:"+request.getRealPath("index.jsp"));
    System.out.println("realpath ./:"+request.getRealPath("./"));
    System.out.println("realpath ../:"+request.getRealPath("../"));
    System.out.println("contextpath:"+request.getContextPath());
    System.out.println("web项目的全路径:"+request.getSession().getServletContext().getRealPath("/"));
    System.out.println("URI:"+request.getRequestURI());
    System.out.println("URL:"+request.getRequestURL());
    System.out.println("servletpath:"+request.getServletPath());
    //System.out.println("页面在服务器的绝对路径:"+new java.io.File(application.getRealPath(request.getRequestURI())).getParent());
    
    System.out.println("~~~~~~~~~~~~~~~页面~~~~~~~~~~~~~~~~~");
    System.out.println("realpath null:"+request.getRealPath(""));
    System.out.println("realpath index.jsp:"+request.getRealPath("index.jsp"));
    System.out.println("realpath ./:"+request.getRealPath("./"));
    System.out.println("realpath ../:"+request.getRealPath("../"));
    System.out.println("contextpath:"+request.getContextPath());
    System.out.println("web项目的全路径:"+request.getSession().getServletContext().getRealPath("/"));
    System.out.println("URI:"+request.getRequestURI());
    System.out.println("URL:"+request.getRequestURL());
    System.out.println("servletpath:"+request.getServletPath());
    System.out.println("页面在服务器的绝对路径:"+new java.io.File(application.getRealPath(request.getRequestURI())).getParent());
    
    //结果
    -----------------servlet-----------------
    realpath null:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt
    realpath index.jsp:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxtindex.jsp
    realpath ./:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt.
    realpath ../:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt..
    contextpath:/jyxt
    web项目的全路径:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt
    URI:/jyxt/hello
    URL:http://localhost:8080/jyxt/hello
    servletpath:/hello
    ~~~~~~~~~~~~~~~页面~~~~~~~~~~~~~~~~~
    realpath null:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt
    realpath index.jsp:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxtindex.jsp
    realpath ./:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt.
    realpath ../:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt..
    contextpath:/jyxt
    web项目的全路径:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxt
    URI:/jyxt/WEB-INF/view/index.jsp
    URL:http://localhost:8080/jyxt/WEB-INF/view/index.jsp
    servletpath:/WEB-INF/view/index.jsp
    页面在服务器的绝对路径:D:eclipse-jee-luna-SR1-win32eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.core	mp0wtpwebappsjyxtjyxtWEB-INFview
    

    在类中获取路径先不看,其他的只有10种方法。

    两种应用场景:.jsp和servlet中。jsp中realPath被抛弃,不过返回值跟servlet中的一样,getRealPath("./   ../")返回值都不太对;页面在服务器的绝对路径 就不能用了。

    getContextPath() 和 .getSession().getServletContext().getRealPath("/") 在.jsp和servlet中返回值都一样;URI,URL,servletpath都不一样。

    //http
    System.out.println("scheme:"+request.getScheme());
    //localhost
    System.out.println("name:"+request.getServerName());
    //8080
    System.out.println("port:"+request.getServerPort());
    

    常用方法

    在servlet中:getContextPath(), URI, URL, servletPath(), 
    在jsp中:getContextPath()
  • 相关阅读:
    移动应用调试之Inspect远程调试
    使用Stickers拓展集成iMessage简单功能
    iOS 在工程内部创建一个静态库target
    Xcode10 library not found for -lstdc++ 找不到问题
    git 操作规范
    java里面jre版本过低怎么修改
    java实现滑动列表找到目标并且选择
    java实现获取toast弱提示
    查询语句集合
    java-clienk 实现获取手机应用设备信息
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4620157.html
Copyright © 2011-2022 走看看