看到很多人都喜欢用<%=request.getContextPath()%>
那我也使用一下
<%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。
<a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径
<a href="XXX.jsp"> //这样获得的是相对路径
<a href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效。
request.getContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串,
如果项目为dzjc, <%=request.getContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上,
<a href="XXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base
来解决路径的问题,不过用的最多的还是request.getContextPath。
用EL来表示相同功能的EL为:${pageContext.request.getContextPath()}
request.getScheme();
返回的协议名称,默认是http
request.getServerName()
返回的是你浏览器中显示的主机名
getServerPort()
获取服务器端口号
如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:/web
现在request.getRealPath("") 这个方法已经不推荐使用了
可以使用
ServletContext.getRealPath(java.lang.String) instead. request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址
分享到:
相关推荐
### Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别 #### 一、概述 在Java Web开发中,对于HTTP请求处理时经常需要用到`HttpServletRequest`对象的方法来获取客户端请求的...
<%=request.getRealPath("/")%> ``` 这将返回当前项目的实际物理路径。 在 Servlet 中,我们可以使用 request.getScheme() 方法来获取当前请求的协议名称,例如 http 或 https。使用 request.getServerName() 方法...
- 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` 总的来说,正确理解和使用...
正确地使用`request.getContextPath()`、`request.getServletPath()`、`request.getServletContext().getRealPath("/")`等方法可以帮助我们更好地管理Web应用中的文件路径问题。希望本文能对你有所帮助,在实际工作...
getServletContext()空指针异常的原因getServletContext()空指针异常的原因getServletContext()空指针异常的原因getServletContext()空指针异常的原因getServletContext()空指针异常的原因
- 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` ServletContext对象...
- `request.getSession().getServletContext().getRealPath("/")` - `this.getServletContext().getRealPath("/")` - `this.getServlet().getServletContext().getRealPath("/")` 其中,`request.getRealPath()...
- 在JSP中,可以使用`request.getRequestURI()`获取根目录对应的绝对路径,`application.getRealPath(request.getRequestURI())`获取文件的绝对路径,`application.getRealPath("/")`获取Web应用的绝对路径,`new ...
- 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())`。 - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")`。 **最佳实践** 在...
- 文件的绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用的绝对路径:`servletConfig.getServletContext().getRealPath("/")` `ServletContext`对象...
可以使用 request.getServletPath() 获取当前应用的相对路径,使用 request.getSession().getServletContext().getRealPath(request.getRequestURI()) 获取当前文件的绝对路径,使用 servletConfig....
- 使用`request.getRealPath(".")`或`request.getRealPath("")`:这将返回当前请求所在的目录的绝对路径。 - 示例:`C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\strutsTest` - 使用`request...
在 Servlet 中,可以使用 request.getServletPath() 获取当前文件的绝对路径,然后使用 request.getSession().getServletContext().getRealPath(request.getRequestURI()) 获取当前文件的绝对路径。同时,也可以使用...
- 文件绝对路径:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 当前Web应用绝对路径:`servletConfig.getServletContext().getRealPath("/")` 4. **最佳实践** - 避免...
然而,`request.getRealPath("/")`方法虽然可以获取到服务器上JSP文件的实际物理路径,如`d:\web\`,但这个方法在现代的Java Web应用中已经不再推荐使用,因为它依赖于服务器的文件系统,这在分布式和容器化的环境中...
- **文件的绝对路径**: 使用`request.getSession().getServletContext().getRealPath(request.getRequestURI())`。 - **当前Web应用的绝对路径**: 使用`servletConfig.getServletContext().getRealPath("/")`。 - **...
(1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径 (2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3)、request.getSession()...
4. **DOCUMENT_ROOT**:使用`getServletContext().getRealPath("/")`获取应用的根目录。 5. **PATH_INFO**:`request.getPathInfo()`返回URL路径中Servlet路径之后的部分。 6. **PATH_TRANSLATED**:提供了服务器...
- **`request.getRealPath("/")`**: 获取应用程序根目录的物理路径。 - **`request.getQueryString()`**: 获取请求的查询字符串。 - **`request.getRemoteHost()`**: 获取远程主机名。 - **`request.getRemoteAddr()...