当前位置: 首页 > news >正文

getRequestURI,getRequestURL的区别

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

getRequestURI,getRequestURL的区别

test1.jsp=======================

<a href ="test.jsp?p=fuck">跳转到test2</a>

test2.jsp=======================

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

out.println("basePath:"+basePath);
out.println("<br/>");
out.println("getContextPath:"+request.getContextPath());
out.println("<br/>");
out.println("getServletPath:"+request.getServletPath());
out.println("<br/>");
out.println("getRequestURI:"+request.getRequestURI());
out.println("<br/>");
out.println("getRequestURL:"+request.getRequestURL());
out.println("<br/>");
out.println("getRealPath:"+request.getRealPath("/"));
out.println("<br/>");
out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
out.println("<br/>");
out.println("getQueryString:"+request.getQueryString());

%>

 

显示结果:

basePath:http://localhost:8080/test/

getContextPath:/test
getServletPath:/test.jsp
getRequestURI:/test/test.jsp
getRequestURL:http://localhost:8080/test/test.jsp
getRealPath:D:\Tomcat 6.0\webapps\test\
getServletContext().getRealPath:D:\Tomcat 6.0\webapps\test\
getQueryString:p=fuck

在一些应用中,未登录用户请求了必须登录的资源时,提示用户登录,此时要记住用户访问的当前页面的URL,当他登录成功后根据记住的URL跳回用户最后访问的页面:

String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();


转载于:https://my.oschina.net/tiancai/blog/223457

相关文章:

  • 2018年测试状况调查
  • 一个CCIE的梦想(转)
  • 如何快速找到多个字典中的公共键(key)
  • form表单的onclick与submit提交顺序
  • Linux下的五种错误配置
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • 关于研发成本的一些思考
  • ElasticSearch学习(9)-Java接口查询操作
  • 转载:C/C++关于string.h头文件和string类
  • 开源USM之HIDS ossec
  • SVN的标准目录结构:trunk、branches、tags(转)
  • hdu 2844 混合背包【背包dp】
  • MySQL高可用架构之MHA
  • Js基础知识(四) - js运行原理与机制
  • Bootstrap your Django admin in 3 minutes
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • docker容器内的网络抓包
  • express + mock 让前后台并行开发
  • go append函数以及写入
  • RxJS: 简单入门
  • Selenium实战教程系列(二)---元素定位
  • spark本地环境的搭建到运行第一个spark程序
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Vue.js-Day01
  • Vue全家桶实现一个Web App
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 微信小程序实战练习(仿五洲到家微信版)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 通过调用文摘列表API获取文摘
  • 整理一些计算机基础知识!
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • ( 10 )MySQL中的外键
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)(1.9) MSP (version 4.2)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net快速开发框架源码分享
  • .NET中的Exception处理(C#)
  • @RequestMapping处理请求异常
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [ANT] 项目中应用ANT
  • [C#]扩展方法
  • [CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择
  • [DL]深度学习_Feature Pyramid Network
  • [excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件