JSP request获取路径参数详解

Request对象中可以获取各种路径信息,包括绝对路径,虚拟路径等。

方法

以工程名为TEST为例

1. getContextPath()  得到工程名

结果:/TEST

2. getServletPath()  得到当前页面所在目录下全名称

结果:如果页面在jsp目录下 /TEST/jsp/test.jsp 

3. getRequestURL()  得到IE地址栏地址

结果:http://localhost:8080/TEST/test

4. getServletPath()  得到相对地址

结果:/TEST/test

eg:jsp请求地址:http://127.0.0.1:8080/projectName/order/queryOrder.jsp,各种路径获取如下:

request.getServletPath():/order/queryOrder.jsp  
request.getContextPath():/projectName  
request.getRequestURL():http://127.0.0.1:8080/projectName/order/queryOrder.jsp  
request.getRemoteAddr():127.0.0.1  
request.getServletContext():org.apache.catalina.core.ApplicationContextFacade@1db2215  
request.getServerPort():8080  
request.getScheme():http  
request.getServerName():127.0.0.1  
request.getProtocol():HTTP/1.1  
request.getPathInfo():null  
request.getQueryString():null  

例子

假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下:

String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String remoteAddress=request.getRemoteAddr();
String servletPath=request.getServletPath();
String realPath=request.getRealPath("/");
String remoteUser=request.getRemoteUser();
String requestURI=request.getRequestURI();

out.println("path:"+path+"<br>");
out.println("basePath:"+basePath+"<br>");
out.println("remoteAddr:"+remoteAddress+"<br>");
out.println("servletPath:"+servletPath+"<br>");
out.println("realPath:"+realPath+"<br>");
out.println("remoteUser:"+remoteUser+"<br>");
out.println("requestURI:"+requestURI+"<br>");

执行结果:

path:/WebDemo
basePath:http://localhost:8683/WebDemo/
remoteAddr:127.0.0.1
servletPath:/index.jsp
realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\
remoteUser:null
requestURI:/WebDemo/index.jsp

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。