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原创文章,未经本站允许不得转载。