`

Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别

阅读更多

假定你的工程名称为projects,你在浏览器中输入请求路径:

http://127.0.0.1:8080/projects/pages/newForm.jsp

则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath());
打印结果:/projects
 2、System.out.println(request.getServletPath());
打印结果:/pages/newForm.jsp
 3、 System.out.println(request.getRequestURI());
打印结果:/projects/pages/newForm.jsp
 4、 System.out.println(request.getRealPath("/"));
 JSP servlet API提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。

打印结果:C:\Tomcat5.0\webapps\projects\test

想不清楚的代码或原理,动手试验一般会找到答案!!!

 

自己试验了一下:

http://localhost:8080/gd/index.do?logicName=HelloWorldAction&forwardJsp=index

 

   String ss = req.getServletPath();
   System.out.println(ss);
   systemName = ss.split("/")[1];
   System.out.println(systemName);
   
   for(int i=0;i<ss.split("/").length;i++){
    System.out.println("ss.split(\"/\")["+i+"]="+ss.split("/")[i]);
   }

 

输出:

 /gd/index.do
gd

ss.split("/")[0]=
ss.split("/")[1]=gd
ss.split("/")[2]=index.do

分享到:
评论

相关推荐

    Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别.doc

    ### Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别 #### 一、概述 在Java Web开发中,对于HTTP请求处理时经常需要用到`HttpServletRequest`对象的方法来获取客户端请求的...

    java中相对路径,绝对路径问题总结.doc

    - 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` 总的来说,正确理解和使用...

    获取项目的相对路径和绝对路径

    正确地使用`request.getContextPath()`、`request.getServletPath()`、`request.getServletContext().getRealPath("/")`等方法可以帮助我们更好地管理Web应用中的文件路径问题。希望本文能对你有所帮助,在实际工作...

    得到文件真实路径

    - 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` ServletContext对象...

    从HttpServletRequest获取各种路径总结

    out.println("getServletPath: " + request.getServletPath()); out.println(" "); %&gt; ``` #### 四、其他获取路径的方法 除了上述通过`HttpServletRequest`获取路径的方式外,还可以在类中或Servlet中获取...

    JAVA开发中相对路径汇编.pdf

    - 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())`。 - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")`。 **最佳实践** 在...

    学习JAVA开发中相对路径.pdf

    - 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` `ServletContext`对象...

    JAVA文件路径详细讲解[文].pdf

    - 文件绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用绝对路径:`servletConfig.getServletContext().getRealPath("/")` 4. **最佳实践** - 避免...

    Java开发绝对和相对路径问题

    可以使用 request.getServletPath() 获取当前应用的相对路径,使用 request.getSession().getServletContext().getRealPath(request.getRequestURI()) 获取当前文件的绝对路径,使用 servletConfig....

    Java相对路径绝对路径总结

    - **文件的绝对路径**: 使用`request.getSession().getServletContext().getRealPath(request.getRequestURI())`。 - **当前Web应用的绝对路径**: 使用`servletConfig.getServletContext().getRealPath("/")`。 - **...

    jsp_servlet路径问题

    - **文件的绝对路径**:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - **当前Web应用的绝对路径**:`servletConfig.getServletContext().getRealPath("/")` - **...

    java(Web)中相对路径,绝对路径问题总结

    - **文件的绝对路径**:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - **当前web应用的绝对路径**:`servletConfig.getServletContext().getRealPath("/")` 通过以上介绍...

    基于从request获取各种路径的方法介绍

    - 使用 `new java.io.File(application.getRealPath(request.getRequestURI())).getParent()` 可以得到页面所在服务器的绝对路径,如 `D:\resin\webapps\TEST`。 3. 在类中获取路径的方法: - 获取类的绝对路径:...

    JAVA类,JSP,Servlet获取工程路径.txt

    - 示例:通过先调用`request.getRequestURI()`获取页面的全路径,再通过`new java.io.File(application.getRealPath(request.getRequestURI())).getParent()`获取其父路径,如`D:\resin\webapps\TEST`。 #### Java...

    Java相对路径与肯定路径的问题_.docx

    - **Servlet中的路径获取**: 在Servlet中,可以使用`HttpServletRequest`的`getServletPath()`获取请求的虚拟路径,然后结合`getRealPath()`得到物理路径。 相对路径和绝对路径的选择取决于你需要操作的文件或目录...

    Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析

    String absPath = new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); System.out.println(absPath); // 输出:D:\resin\webapps\TEST ``` #### 二、在Java类中获取路径 1. **...

    JAVA获取项目路径.doc

    absPath = new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); ``` 输出如 `D:\resin\webapps\TEST`。 ### 类文件中的路径获取 在Java类文件中,可以使用以下方法来获取路径:...

    JAVA中获取各种路径

    #### (2) 获取上下文路径:`request.getContextPath()` 这将返回当前Web应用程序的上下文路径,即`http://example.com/TEST/`中的`/TEST`部分。这对于构建相对路径或在不同的应用之间共享资源时非常有用。 #### (3...

    JSP中得到几种得到路径的方法

    在JSP中,`request.getRequestURI()`方法可以返回从上下文根目录到资源的路径,包括任何查询字符串之前的路径。例如,如果你的JSP页面位于`/TEST`项目中,调用此方法将会返回`/TEST/test.jsp`。这个路径主要用于定位...

Global site tag (gtag.js) - Google Analytics