zoukankan      html  css  js  c++  java
  • getContextPath、getServletPath、getRequestURI,getRealPath的区别

    假定你的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("/")); 

          request.getRealPath("/")已经不建议使用。

    getRealPath();

    返回一个字符串,包含一个给定虚拟路径的真实路径。

    struts2中:

    ServletContext ctx=ServletActionContext.getServletContext();

    String path=ctx.getRealPath("/");
    String path1=ctx.getRealPath("/files/view.jsp");

    输出:path为D:Javasoftwareapache-tomcat-7.0.70apache-tomcat-7.0.70webappsstruts2-1

             path1为D:Javasoftwareapache-tomcat-7.0.70apache-tomcat-7.0.70webappsstruts2-1filesview.jsp

    filesview.jsp这部分就是虚拟路径

    D:Javasoftwareapache-tomcat-7.0.70apache-tomcat-7.0.70webappsstruts2-1  为项目的绝对路径

     servlet中:

    private ServletConfig  config;

    public void init(ServletConfig config) throws ServletException {
    this.config=config;}

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    ServletContext ctx=config.getServletContext();
    String temp=ctx.getRealPath("/");
    }


    打印结果:F:Tomcat 6.0webapps ews est 

    注:

    URI=contextPath+servletPath

  • 相关阅读:
    Linux常用的命令
    【练习】分区
    【测试】RAC搭建(裸设备)
    【练习】使用事务和锁定语句
    【练习】使用事务控制语句
    【练习】设置数据类型
    【练习】显示MySQLadmin 库户籍选项
    【练习】显示MYSQL客户机选项
    【练习】如何显示本地主机上的MySQL客户机版本
    【测试】切换保护模式,最大性能到最大可用
  • 原文地址:https://www.cnblogs.com/keyi/p/6232658.html
Copyright © 2011-2022 走看看