jsp获取请求路径

举报
风吹稻花香 发表于 2021/06/04 23:26:30 2021/06/04
【摘要】 HttpServletRequest获取请求路径   1、        //Returns the part of this request's URL from the p...


  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


文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/70951520

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。