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()
  • 相关阅读:
    linux crontab 定时使用方法
    crontab 选择编辑器 select-editor
    设置定时任务为每天凌晨2点执行和每小时执行一次
    性能测试工具--SIEGE安装及使用简介 siege压力测试
    Vue基础
    使用 supervisor 管理进程
    长按listview弹出选项列表对话框
    左右滑动弹窗之间短信内容区域来显示上一条和下一条短信
    在开机广播中启动服务
    Android spinner 样式及其使用详解
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4620157.html
Copyright © 2011-2022 走看看