转:http://zjutsoft.iteye.com/blog/1084260
从request获取各种路径总结
request.getRealPath("url"); // 虚拟目录映射为实际目录
request.getRealPath("./"); // 网页所在的目录
request.getRealPath("../"); // 网页所在目录的上一层目录
request.getContextPath(); // 应用的web目录的名称
如http://localhost:7001/bookStore/
/bookStore/ => [contextPath] (request.getContextPath())
获取Web项目的全路径
String strDirPath = request.getSession().getServletContext().getRealPath("/");
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI()
结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
结果:D:\resin\webapps\TEST\test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:\resin\webapps\TEST
2.在类中取得路径:
(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
结果:D:\TEST
3.在Servlet中取得路径:
(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
结果:E:\Tomcat\webapps\TEST
(2)得到IE地址栏地址:request.getRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test
分享到:
相关推荐
### Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别 #### 一、概述 在Java Web开发中,对于HTTP请求处理时经常需要用到`HttpServletRequest`对象的方法来获取客户端请求的...
- **访问虚拟目录**:在JSP中,可以通过`request.getServletContext().getRealPath()`方法获取虚拟目录对应的物理路径,然后进行文件操作。例如: ```jsp String virtualPath = "/myVirtualDir"; String ...
总结而言,本文从多个方面介绍了如何在不同的环境和对象中获取Web项目中的各种路径,包括绝对路径、相对路径以及Web应用的根目录等。掌握了这些路径获取的方法,将有助于开发者更加精确地管理和操作Web资源,从而...
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent() servlet类似! 6、在写action类里,对于要封装的值和对象,除了常数以外,记得SET和GET,不是会出现空指针。
- **请求转发**:使用`request.getRequestDispatcher`进行转发时,路径应为相对于Web应用根目录的路径,如`"/dir1/c.jsp"`。 - **重定向**:在重定向中,`"/"`表示的是服务器的根目录`http://机器IP:8080`,而要指向...
例如,它可能将Web应用目录的虚拟路径转换为服务器上实际的物理路径,如D:\apache-tomcat-6.0.13\webapps\WebDemo\。但值得注意的是,getRealPath("/")方法并不推荐使用,可以采用ServletContext.getRealPath(java....
- `new File(application.getRealPath(request.getRequestURI())).getParent()`: 从请求的URI获取上一级目录的绝对路径。 3. **Servlet中获取当前应用的相对路径和绝对路径** - `request.getServletPath()`: ...
- `ServletContext.getRealPath(String path)`: 获取应用程序的真实路径。 - `ServletContext.getContextPath()`: 获取应用程序上下文路径。 - `ServletContext.getServerInfo()`: 获取服务器信息。 在实际编码...
- `<%= request.getRealPath("/") %>`:返回服务器上对应于Web应用的物理路径。在开发环境中,这个方法可能有效,但在生产环境,由于容器的部署方式,它可能返回null。 3. **web.xml配置** - `web.xml`是Web应用...
6. **请求对象获取路径**:`request.getRealPath("/")`可以获取请求URL映射到的服务器上的实际路径,但这不推荐在新的开发中使用,因为它不适用于所有的Web服务器和部署环境。 在实际开发中,选择哪种方法取决于...
最后,我们通过`HttpServletRequest`对象调用`getServletContext().getRealPath("/")` 来获取Web应用的根目录在服务器文件系统上的实际路径。`getServletContext()` 返回的是`ServletContext`对象,它是整个Web应用...
`getRealPath()` 方法试图将给定的虚拟路径转换为文件系统的实际路径。这个方法在某些情况下很有用,比如当你需要加载服务器上的静态资源,如图片、CSS或JavaScript文件。在这个例子中,`"/"` 表示根目录,方法返回...
String realPath = request.getSession().getServletContext().getRealPath("./"); ``` 这段代码可以获取到当前应用的根目录。 #### 二、DNS配置与本地测试 对于本地测试环境来说,正确的DNS配置非常重要。在...
${pageContext.request.contextPath}/servlet/UploadHandleServlet" enctype="multipart/form-data" method="post"> 上传用户:<input type="text" name="username"><br/> 上传文件1:...
### 各种数据库在JDBC中的连接方法 #### 一、引言 Java Database Connectivity (JDBC) 是一种用于执行 SQL 语句的 Java API,它可以为多种关系型数据库提供统一访问,它由一组用 Java 编程语言编写的类和接口组成。...
3. **配置Struts 2**:在Struts 2的配置文件(struts.xml)中,为Action添加映射,并启用`fileUpload`拦截器。 ```xml <!-- 省略其他配置 --> <package name="default" namespace="/" extends="struts-default">...
- 通过`request.getRealPath("/") + "/" + path`获取实际文件路径。 - 使用`BufferedInputStream`和`BufferedOutputStream`进行高效的文件读写操作。 - 设置`response`头信息,指定下载方式和文件名。 - 最后...
request.setAttribute("message", "文件上传成功"); return mapping.findForward("success"); } } ``` 同时,别忘了在`struts-config.xml`中配置Action: ```xml <action path="/upload" type=...
在Java Web开发中,文件上传是一项常见的功能,用于允许用户从他们的计算机上传文件到服务器。在本教程中,我们将探讨如何使用Java Servlet和JSP(JavaServer Pages)来实现一个简单的文件上传功能。 首先,我们...
String filepath = request.getRealPath("/") + "uploadfile/"; String filename = new String(request.getParameter("filename").getBytes("ISO8859-1"), "UTF-8").toString(); java.io.File file = new java.io...