如何实现返回上一页并自动刷新

Java编写WEB程序时,页面应该只是表示的部分,不应该含有任何Java脚本代码,所以主要考虑使用JS来实现这一功能。我们经常会碰到返回上一页,但是需要刷新页面上与状态相关的信息,从而避免重复操作,错误信息的弊端。先说两种方法:

 

1. 设置页面为不缓存,访问上一次页面就需要重新去服务器获取。(我没有试过)。

 

HTML

JAVA

PHP

ASP

 

2. 页面自动重载,在页面第一次运行时执行一次重载。

 

此方法稍微有点复杂,HTTP是没有状态的,请求一次页面后下次请求没有什么必然的关系,当然用Seesion可以,这样子给服务器很大的压力,还有一种获取状态的方法就是Cookie。在第一次打开一个页面时,让Cookie存一个值表示这是第一次,然后重载页面后,检测Cookie值是否是第一次,若是则置为非第一次状态。一个简单的实现如下。

 

如果仅仅是返回上页,不需要刷新,JS可以有很多种写法:

如果需要刷新,可以有两种写法:

第一种,返回后重新请求该页面

第二种借助HTTP头信息

通过HTTP的头部中的HTTP_REFERER记录的链接来源地址实现跳转,源地址就是指这个页面从什么页面链接过来的页面。HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。这样子很容易获得访问来源。JSP,ASP,PHP都提供了访问次信息的方法,如果在页面中包含这些脚本语言,也可以使用,我还是不会使用它们的。

 

这跟浏览器的刷新机制有关,浏览器是通过Last-Modified和Expires来处理缓存的,有兴趣的可以参考http://blog.sina.com.cn/s/blog_6868b78d0100kgwp.html

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值