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

  • 相关阅读:
    使用熔断器防止服务雪崩
    创建服务消费者(Feign)
    1.python进行if条件相等时候的条件
    理解编程语言是什么
    硬件架构与操作系统的历史
    centos7 下安装rpm的mysql 5.7
    BIND的进阶二:视图,日志,转发,子域的授权
    Linux启动盘-ultraiso
    ubuntu 跟xshell的问题
    Python接口自动化-requests模块之get请求
  • 原文地址:https://www.cnblogs.com/keyi/p/6232658.html
Copyright © 2011-2022 走看看