jsp Request获取url信息的各种方法比较
生活随笔
收集整理的這篇文章主要介紹了
jsp Request获取url信息的各种方法比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java代碼??從Request對象中可以獲取各種路徑信息,以下例子:?? 假設請求的頁面是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?? 從上不難看出request各個對應方法所代表的含義??
從request獲取各種路徑總結:?? request.getRealPath("url");//虛擬目錄映射為實際目錄?? request.getRealPath("./");//網頁所在的目錄?? request.getRealPath("../");//網頁所在目錄的上一層目錄?? 假定你的web?application(web應用)名稱為news,你的瀏覽器中輸入請求路徑:http://localhost:8080/uploading/load.jsp?? request.getContextPath()??=>??/uploading?? request.getServletPath()??=>??/load.jsp?? request.getRequestURL()??=>??http://localhost:8080/uploading/load.jsp?? request.getRealPath("/")??=>???F:\learn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\uploading\?? 現在request.getRealPath("/")?這個方法已經不推薦使用了?? 可以使用?? ServletContext.getRealPath(java.lang.String)??instead.?? request.getSession().getServletContext().getRealPath()?得到工程文件的實際物理路徑,也就是絕對地址??
??????//Returns?the?part?of?this?request's?URL?from?the?protocol?name?up?to?the?query?string?in?the?first?line?of?the?HTTP?request?? ?????????//??eg.?????/manage/editExam.domethod=goExamSet&type=U?? ??????String?url?=?request.getRequestURI();???? ??????//The?returned?URL?contains?a?protocol,?server?name,?port?number,?and?server?path,?but?it?does?not?include?query?string?parameters?? ????????//eg.??????http://127.0.0.1:8080/manage/editExam.domethod=goExamSet&type=U?? ??????StringBuffer?url_buffer?=?request.getRequestURL();?? ??HttpServletRequest?的這兩種方法都只能得到不包含參數的請求url,區別如下:?? 1?前者返回相對路徑,后者返回完整路徑?? 2?前者返回string?,后者返回stringbuffer?? 得到完整請求url可以通過如下方法,getQueryString()得到的是url后面的參數串,和前者相加就是帶參數的請求路徑了?? ??String?queryString?=?request.getQueryString();?? ring?fullPath?=?url?+?queryString;???//?或者是url_buffer.toString()+queryString;?
總結
以上是生活随笔為你收集整理的jsp Request获取url信息的各种方法比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL(八)子查询和分组查询
- 下一篇: druid监控配置及sql注入防火墙配置