亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP頁面不能刷新、防止刷新的問題總結

2024-09-05 00:19:15
字體:
來源:轉載
供稿:網友

jsp頁面不能刷新、防止刷新的問題總結

<1>如果要求當發生選擇、刪除、修改等操作時,表單刷新,需要加上: window.returnvalue=0.

例如leadership/leader_ctl.jsp

<body leftmargin="0" topmargin="0" >

<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %>

<%@ page import="leader.*" %>

<%

   

    leaderbean leader=new leaderbean();

    string struserid=request.getparameter("key");

    session.setattribute("employuserid",struserid);

    //system.out.println("struserid:"+struserid);

    if (leader.postedit(request)){

       //system.out.println("me5");

       out.println("<script>window.returnvalue=0;window.close();</script>");

       return;

    }

    else{

       if (request.getparameter("oper")!=null){

         if (request.getparameter("oper").equals("delleader")){

            out.println("<script>alert('"+leader.lastopermsg+"');window.returnvalue=0;</script>");

            //return;

         }

         if(request.getparameter("oper").equals("setleader")){

             //system.out.println("me3");

             out.println("<script>alert('"+leader.lastopermsg+"');window.returnvalue=0;window.close();</script>");

             //system.out.println("me4");

            //return;

         }

         if(request.getparameter("oper").equals("delcompetence")){

             ////system.out.println("struserid:"+struserid);

             out.println("<script>alert('"+leader.lastopermsg+"');history.back();</script>");

             //system.out.println("me4");

            //return;

         }

         if(request.getparameter("oper").equals("addcompetence")){

             //system.out.println("addcompetence1");

             out.println("<script>alert('"+leader.lastopermsg+"');history.back();</script>");

             //system.out.println("addcompetence2");

             //return;

         }

         else{

           if (request.getparameter("oper").equals("qx")){

               out.println("<script>alert('"+leader.lastopermsg+"');window.returnvalue=0;window.close();</script>");

              //return;

           }

           else{

               //system.out.println("me6");

               out.println("<script>alert('"+leader.lastopermsg+"');window.close();</script>");

               //return;

           }//3e

         }

       }

    }  

%>
 

<2>如果要求每隔一段時間從服務器上自動刷新,需要加上:

(1)       種方法:

<%response.setheader("refresh","15");%>
15妙刷新一次

(2)       種方法:

自動刷新網頁
在html的與之間加入下面這段代碼,則在5分鐘之后正在瀏覽的頁面將會自動變為target.html這一頁。代碼中300為刷新的延遲時間,以秒為單位。targer.html為你想轉向的目標頁,若為本頁則為自動刷新本頁。

<meta http-equiv="refresh" content="300; url=target.html">

 

(3)       種方法:演示效果:本頁將在規定的時間自動刷新,代碼提示:將下面的代碼復制到〈head〉區

<script>

<!--

var limit="0:15"http://修改刷新時間

 

if (document.images){

var parselimit=limit.split(":")

parselimit=parselimit[0]*60+parselimit[1]*1

}

function beginrefresh(){

if (!document.images)

return

if (parselimit==1)

window.location.reload()

else{

parselimit-=1

curmin=math.floor(parselimit/60)

cursec=parselimit%60

if (curmin!=0)

curtime=curmin+"分"+cursec+"秒后重刷本頁!"

else

curtime=cursec+"秒后重刷本頁!"

window.status=curtime

settimeout("beginrefresh()",1000)

}

}

window.onload=beginrefresh

//-->

</script>
 

 

<2>防止從服務器上自動刷新,需要加上:

<%@ page contenttype="text/html;charset=gb2312"%><%@ page language="java" import="java.io.*"%><html><head><meta http-equiv="content-type" content="text/html; charset=gb2312"><title>計數器</title></head><%!//同步更新計數器    synchronized void counter(){        servletcontext application=getservletcontext();       //構造application對象(可選)        string szpath=application.getrealpath("/");               //得到當前路徑        szpath=szpath+"hits.txt";                                       //計數器文件 0-9999999999999...  
 

方案2

jjsp計數器,同一電腦10秒內防刷新

<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="generator"   http-equiv="refresh"     >
<title>無標題文檔</title>
<link href="css/counter.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
<!--start counter  -->
<div align="center">
  <%@ page import="com.ckj.counter.*,java.io.*,java.util.date"%>
  <%counter ct=new counter();
    string  count="0";
    string counterid="0";
   try{
   // string  strdirpath  =  new  file(application.getrealpath(request.getrequesturi())).getparent(); 
   //system.out.println("目錄的絕對路徑:"  +  strdirpath  +  "<br/>");
   string  strfullpath  =  session.getservletcontext().getrealpath("/"); 
   system.out.println(strfullpath);
      ct.path=strfullpath+"/counter/count.txt";
  //1 session存儲時間值,
  //2 下次比較一下
  if(session.getattribute("counttime")==null ){ //如果 初次訪問
   count=ct.docount();
  // system.out.println("--------計算前11--------"+system.currenttimemillis());
   session.setattribute("counttime",string.valueof(system.currenttimemillis()));}
   else
   { //如果,刷新間隔超過
     //system.out.println("--------刷新之差--------"+(system.currenttimemillis()- long.valueof((string)session.getattribute("counttime")).longvalue()));
   //大于10秒
   if((system.currenttimemillis()-long.valueof((string)session.getattribute("counttime")).longvalue())>9000) {
        //system.out.println("--------計算后--------"+system.currenttimemillis());
        count=ct.docount();
        //session.removeattribute("counttime");
        session.setattribute("counttime",string.valueof(system.currenttimemillis()));
        }
        //小于10秒
        else
          count=ct.getcount();
   }
   
 

  }catch(exception e){
    
  }
 
  //如果10秒內刷新,不計數

  if(true){
  }

%>

你是本站第 <span class="font12bgred" >&nbsp;<%=count%>&nbsp;</span> 位訪問者!
<!-- end counter -->

</div>
</body>
</html>
 

方案3、防刷新圖形計數器(已調試)

實例6:防刷新圖形計數器(已調試)程序說明:上次做的計數器沒有采用對文件的讀寫操作,雖然用到了javabean但是并沒有用到scope中的幾個參數:appliction,page,session這些參數分別代表了bean的存活的周期,appliction>session>page我們利用這個原理來防止用戶刷新從而提高訪問次數的漏洞。程序準備:如果你使用的是apache+resin那么請你在resin的根目錄下建立一個文本文件counter.txt并在里面任意寫一個數字,比如100之類的。其次,請建立一個文件夾用來保存這個程序的所有文件,并在該文件夾里建立一個子目錄images,用來保存10張圖片,圖片格式為gif,圖片名稱從0--9,圖片內容就是0--9十個數字,分別與圖片名稱對應就可了。程序文件:index.jsp, addone.java, display.javaindex.jsp用來顯示紀錄結果。addone.java 是一個javabean用來寫紀錄到文件display.java 也是一個javabean用來讀取紀錄到index.jsp程序源碼:index.jsp<%@ page import="popeyelin.*" contenttype="text/html; charset=gb2312" language="java"  %>
<html>
<head>
<title>jsp圖形防刷新計數器</title>
</head>
<body>
<jsp:usebean id="a" scope="page" class="popeyelin.addone"/>
<jsp:usebean id="b" scope="page" class="popeyelin.display"/>
  已經有
<% b.counter();
   for(int i=9;i>=0;i--) out.print(b.img[i]);
   %>
  個人訪問這個頁面
</body>
</html> addone.java package popeyelin;
import java.io.*;
import java.lang.*;
public class addone{
 private string s=new string(); //建立數組變量sl
 public void addone(){
  try {
   bufferedreader buff=new bufferedreader(new filereader("conuter.txt"));
   string s=buff.readline();
   int i=integer.parseint(s);  //將字符串變量s轉化成整形
   i++;
   buff.close();//關閉對象
            printwriter pw=new printwriter(new filewriter("oounter.txt"));
   string temp=integer.tostring(i);//將整形變量i轉化成字符型
   pw.print(temp);
   pw.close();
  }
  catch(ioexception e){
   system.out.println(e.tostring());
  }
 }
} display.java
  package popeyelin;
import java.io.*;
import java.lang.*;
public class display{
 public string[]img=new string[10];
 public void counter(){
  try{
   bufferedreader buff=new bufferedreader(new filereader("counter.txt"));
   string s=buff.readline();
   int i=integer.parseint(s);
   int st=10;
   int j=0;
   while(j<=9) {
    img[j]=integer.tostring(i%st);
    img[j]=img[j]+".gif";
    img[j]="images/"+img[j];
    img[j]="<img src="+img[j]+">";
    img[j]=img[j]+"</img>";
    i/=10;
    j++;
   }
  }
  catch(ioexception e){
   system.out.println(e.tostring());
  }
 }
} 編譯addone.java和display.java后會生成一個文件夾,popeyelin,把這個文件夾拷貝到web-inf/class目錄下,如果不存在,請手動建立。運行index.jsp你就可以看到這個圖片計數器了程序分析:重點就在于對文件的讀寫,我們看如下代碼  bufferedreader buff=new bufferedreader(new filereader("conuter.txt"));
   string s=buff.readline();
   int i=integer.parseint(s);  //將字符串變量s轉化成整形
   i++;
   buff.close();//關閉對象
   printwriter pw=new printwriter(new filewriter("oounter.txt"));
   string temp=integer.tostring(i);//將整形變量i轉化成字符型
   pw.print(temp);
   pw.close(); 我們如果要對文件進行讀寫操作,就必須先后建立2個對象,來對文件分別進行讀和寫而且要注意,我們從文件里讀出來的東西是字符串型的,如果我們要對他進行修改必須先轉換成int型,要用到 integer.parseint(),如果我們要先東西到文件,同樣要先將int轉換成string用integer.tostring(),寫文件用到pw.print()要寫的內容可以保存在變量里,如:pw.print(temp),也可以直接寫,如:pw.print("hello,world");記住,寫完一定要關畢對象。pw.close()

方案4、用jsp制作頁面防刷新計數器(php)</head>
<body>
<%@ page import="java.io.*" %>
<%
string currentrecord = null;//保存文本的變量
bufferedreader file; //bufferedreader對象,用于讀取文件數據
string nameoftextfile = "e://count.txt";
//讀取
file = new bufferedreader(new filereader(nameoftextfile));
string readstr =null;
int writestr =0; //如果計數文本中的計數值為空則讓它顯示時變成1并寫入
try { readstr = file.readline(); }
catch (ioexception e)
{ system.out.println("讀取數據錯誤."); }
if (readstr == null) readstr = "沒有任何記錄";
//判斷cookie,第一次登陸時加1,刷新時不累計計數
else if (request.getheader("cookie")==null)
{ writestr = integer.parseint(readstr)+1;}
else { writestr = integer.parseint(readstr);}
//寫入時控制因為刷新引起的重復計數
if (request.getheader("cookie")==null) {
try {
printwriter pw = new printwriter(new fileoutputstream(nameoftextfile));
pw.println(writestr);
pw.close();}
catch(ioexception e) {
out.println(e.getmessage());}
}
%>
<p align="center">您是傲雪寒梅網站的第<b><font color="red"><%=writestr%></font></b>位客人。</p>
</body>
</html> 
 

                                                                 2006-09-12

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久久小说| 亚洲人成电影网站色xx| 久久久久久国产精品三级玉女聊斋| 亚洲国产成人精品久久久国产成人一区| 亚洲人成在线播放| 国产69精品久久久久9999| 欧美性xxxxx极品| 一区二区日韩精品| 日本午夜人人精品| 亚洲国产精品久久| 国产精品pans私拍| 中文字幕亚洲欧美一区二区三区| www高清在线视频日韩欧美| 欧美亚洲另类激情另类| 欧美在线一级视频| 亚洲风情亚aⅴ在线发布| 欧美性感美女h网站在线观看免费| 精品久久久久久久久久久| 国产mv久久久| 久久全球大尺度高清视频| 国产精品视频久久久| yw.139尤物在线精品视频| 久久99热精品这里久久精品| 日韩av最新在线| 国产男女猛烈无遮挡91| 亚洲精品v欧美精品v日韩精品| 97香蕉久久夜色精品国产| 亚洲摸下面视频| 国产欧美精品一区二区三区介绍| 久久久精品欧美| 午夜精品福利在线观看| 成人有码视频在线播放| 亚洲欧美激情视频| 日韩最新中文字幕电影免费看| 欧美成人自拍视频| 亚洲天堂av电影| 国产精品久久久久久久app| 国产精品美女久久久久久免费| 国产精品视频26uuu| 国产精品视频网站| 中文字幕不卡av| 亚洲第一色在线| 精品久久久久久久中文字幕| 日韩中文字幕在线精品| 久久久久久久香蕉网| 欧美福利小视频| 国产一区二区三区日韩欧美| 日韩欧美国产成人| 色偷偷av亚洲男人的天堂| 久久精品国产欧美激情| 亚洲女人天堂网| 欧美日韩国产一区中文午夜| 欧美日韩综合视频| 中文字幕亚洲激情| 7m第一福利500精品视频| 久久久免费观看| www亚洲欧美| 在线精品国产成人综合| 91亚洲永久免费精品| 久久久欧美精品| 91理论片午午论夜理片久久| 色狠狠av一区二区三区香蕉蜜桃| 亚洲男人天堂2019| 亚洲最新中文字幕| 青青草成人在线| 97婷婷大伊香蕉精品视频| 国产日韩欧美在线播放| 日韩美女主播视频| 久久久久久久久亚洲| 亚洲精品国精品久久99热一| 欧洲成人午夜免费大片| 久久免费精品日本久久中文字幕| 国产亚洲精品美女| 亚洲社区在线观看| 久久精品最新地址| 91精品久久久久久久久久久| 久久999免费视频| 亚洲电影在线观看| 欧美激情精品久久久久久黑人| 亚洲毛片在线看| 久久99国产精品自在自在app| 亚洲图片在线综合| 亚洲国产一区二区三区在线观看| 国产综合久久久久久| 日本欧美国产在线| 久久久久久久久久国产精品| 伊人青青综合网站| 欧美亚州一区二区三区| 国产精品1234| 福利微拍一区二区| 在线亚洲国产精品网| 一个人看的www欧美| 欧美裸体xxxx极品少妇软件| 欧美三级免费观看| 九九九久久国产免费| 日韩小视频网址| 亚洲第一页在线| 久久久久久高潮国产精品视| 精品视频在线播放色网色视频| 91精品国产综合久久香蕉最新版| 色爱精品视频一区| 美女福利精品视频| 欧美激情视频一区二区| 久久av在线播放| 亚洲精品视频中文字幕| 国精产品一区一区三区有限在线| 亚洲va欧美va国产综合久久| 久久激情五月丁香伊人| 欧美xxxwww| 国产精品高潮呻吟久久av黑人| 91精品国产高清久久久久久久久| 亚洲成人黄色网址| 97香蕉久久夜色精品国产| 亚洲日本中文字幕免费在线不卡| 亚洲欧美日韩国产中文| 亚洲日韩欧美视频一区| 一个人看的www欧美| 国产91精品最新在线播放| 国产福利视频一区二区| 91久久精品日日躁夜夜躁国产| 97在线观看免费高清| 日韩中文在线中文网在线观看| 国产精品久久激情| 色哟哟入口国产精品| 97在线精品国自产拍中文| 最新亚洲国产精品| 美女撒尿一区二区三区| 亚洲高清色综合| 日韩精品有码在线观看| 亚洲最新av网址| 色偷偷噜噜噜亚洲男人| 欧美日韩国产精品专区| 日本久久久久久久| 奇米成人av国产一区二区三区| 国自在线精品视频| 日韩小视频在线观看| 国产精品青草久久久久福利99| 亚洲free性xxxx护士hd| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久中文字| 国产精品成久久久久三级| 精品久久久久久亚洲精品| 欧美精品videofree1080p| 91中文在线观看| 色偷偷91综合久久噜噜| 黑人巨大精品欧美一区免费视频| 国产欧美日韩精品在线观看| www.欧美视频| 性欧美办公室18xxxxhd| 98精品在线视频| 日日骚av一区| 一区二区三区四区精品| 亚洲色图色老头| 欧美高清在线播放| 亚洲综合第一页| 668精品在线视频| 国产精品高潮视频| 国产成人精品视频| 中日韩美女免费视频网址在线观看| 亚洲男人第一av网站| 欧美日韩激情小视频| 中文字幕精品www乱入免费视频| 国产精品久久精品| 最近2019中文免费高清视频观看www99|