jsp获取请求路径

来源:互联网 发布:c语言游戏 编辑:程序博客网 时间:2024/05/21 10:39


  1. HttpServletRequest获取请求路径  
  2. 1、        //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  
  3.         //  eg.  /ser.do?method=add_pre&type=mad  
  4.         String url = request.getRequestURI();    
  5.     return /ssm/ser.do  
  6. 2、        //The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters  
  7.           //eg.      http://localhost:8080/ssm/ser.do?method=add_pre&type=mad  
  8.         StringBuffer url_buffer = request.getRequestURL();  
  9.     return http://localhost:8080/ssm/ser.do  

HttpServletRequest 的这两种方法都只能得到不包含参数的请求url,区别如下: 

1 前者返回相对路径,后者返回完整路径 

2 前者返回string ,后者返回stringbuffer 

要想得到完整请求url可以通过如下方法,getQueryString()得到的是url后面的参数串,和前者相加就是带参数的请求路径了 

Java代码  收藏代码
  1.     String queryString = request.getQueryString();  
  2. String fullPath = url + queryString;     
  3. // 或者是url_buffer.toString()+queryString;  
  4. 即 /ssm/ser.do + method=add_pre&type=mad  

假定你的工程名称为projects,你在浏览器中输入请求路径:

http://127.0.0.1:8080/projects/pages/newForm.jsp

则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath());
打印结果:/projects
 2、System.out.println(request.getServletPath());
打印结果:/pages/newForm.jsp
 3、 System.out.println(request.getRequestURI());
打印结果:/projects/pages/newForm.jsp
 4、 System.out.println(request.getRealPath("/")); 
 JSP servlet API提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。

打印结果:C:\Tomcat5.0\webapps\projects\test


0 0
原创粉丝点击