退出后点击浏览器后退不能回到成功页面;直接进入页面和跳转进入页面样式不同;防止直接输入页面地址或servlet;当servlet跳servlet时,进行其他操作后后退出现错误!

本文主要是介绍退出后点击浏览器后退不能回到成功页面;直接进入页面和跳转进入页面样式不同;防止直接输入页面地址或servlet;当servlet跳servlet时,进行其他操作后后退出现错误!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何实现:
 一,不能直接进入页面或者直接访问servlet,必须通过页面点击的方式!即不能直接输入url/页面地址进入页面,这是为了防止在登录的情况下,直接输入url/页面地址访问登录成功后的页面!
  
  * 只需要在拦截器中获取referer头:request.getHeader("referer")。
   > 如果为null,表示是直接输入url/页面地址进入的!这是就直接跳转到指定页面,不让他得逞!
   > 如果不为空,则放行或进行其他操作!
  
  * 这样还能防止:直接进入页面和通过跳转进入页面的样式不同的问题!!!


 
 二,直接进入页面和跳转进入页面的样式不同。
  
  * 出现这个错误的前提是存放jsp页面的文件夹和存放css/js的文件夹在同一级文件夹里,解决方法有两个:
   > 1,将jsp页面提出来,和存放css/js的文件夹同级!
   > 2,防止直接输入url地址进入页面,必须通过web程序跳转进入!参照一
  
 三,成功页面(success.jsp)退出(session.invalidate())后跳转到登录页面(login.jsp),
 点击浏览器后退不会回到先前成功页面,还是登录页面,且地址栏一直是login.jsp不变。
  
  * 因为浏览器前进后退是直接读取浏览器缓存的html页面,而不是访问服务器。
  所以只要禁用浏览器缓存即可在后退前进时再去访问服务器,只要它访问服务器,我们这时就可以使用拦截器,
  判断session中是否有登录信息!这样就可以实现退出后点击浏览器后退不能退回到成功页面而是一直在登录页面!
  
  * 退出时跳转到登录页面使用重定向而不是转发,就可以实现推出后点击后退地址栏一直是login.jsp!


  
 四,禁用浏览器缓存时(为了实现1),在访问servlet时这个servlet又跳另一servlet再跳页面时(edit.jsp(编辑页面)->editServlet(编辑信息)->getMsgServlet(获取信息)->show.jsp(展示页面)),
 点击其他操作再点击浏览器后退(想回到show.jsp)时,会出现页面出错的问题!如何避免?
  
  * 我们在整个流程中,先去editServlet,再转发到另一getMsgServlet时是用的转发,所以在show.jsp点击其他操作后再后退时(即后退到show.jsp)时,地址栏是editServlet!!!这是关键!
  所以我们只需要在editServlet跳到getMsgServlet时用重定向而不是转发,这样就是通过客户端跳转的getMsgServlet!返回时的地址栏就是getMsgServlet了,这样就可以解决这个问题!
  
  * 这是因为禁用浏览器缓存时,每次前进后退都会去访问服务器,当我们返回时,如果地址栏是editServlet,由于它是服务端跳转的,不是客户端跳转的,相当于没有之前的页面!所有没办法回到之前的页面!所有浏览器报错!
  所以我们只需要让servlet跳servlet时使用重定向而不是转发即可,就相当于是客户端跳转了!相当于有那个页面了!这是后退才能回到之前的页面!


 
 

这篇关于退出后点击浏览器后退不能回到成功页面;直接进入页面和跳转进入页面样式不同;防止直接输入页面地址或servlet;当servlet跳servlet时,进行其他操作后后退出现错误!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/908855

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监