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

  • 相关阅读:
    CSS3 转换2D transform
    jquery中this和event.target的区别
    jQuery中事件对象e的事件冒泡用法示例(事件冒泡与阻止冒泡)
    表单Checkbox全选反选全不选
    表单获取焦点失去焦点
    表单非空校验
    无刷新评论
    定时器.倒计时
    虚拟硬件调整
    虚拟机功能
  • 原文地址:https://www.cnblogs.com/keyi/p/6232658.html
Copyright © 2011-2022 走看看