刚开始学jsp的同学一定都有学request和response对象,但是当时还很单纯,很多东西你说了我也不知道是干什么用的,如今用到了,拿出来再说一下。request对象里可以得到本应用程序相关的一些路径,我本来只是想得到web的路径然后把上传的文件保存下来,就试了跟路径相关的一些方法,代码如下:
jsp代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<table border="1">
<tr><td>request.getRealPath("/")</td><td><%=request.getRealPath("/")%></td></tr>
<tr><td>request.getContextPath()</td><td><%=request.getContextPath()%></td></tr>
<tr><td>request.getServletPath()</td><td><%=request.getServletPath()%></td></tr>
<tr><td>request.getServletContext()</td><td><%=request.getServletContext().getRealPath("/")%></td></tr>
</table>
</body>
</html>
下面是显示结果:
request.getRealPath("/") | F:\NetBeansPro\PathTest\build\web\ |
request.getContextPath() | /PathTest |
request.getServletPath() | /index.jsp |
request.getServletContext().getRealPath("/") | F:\NetBeansPro\PathTest\build\web\ |
其中getRealPath和getServletContext().getRealPath("/")得到的结果是一样的,因为jsp2.1以后第一个方法被第二个方法取代了。