需求描述:
在**中有一些網頁是受保護的,即只有規定的使用者才能訪問,而有一些網頁任何人都可以訪問。所以使用者在ie中輸入url提交後,伺服器必須對使用者輸入的url進行分析過慮。
分析:需要考慮的問題:
1、 怎麼攔截使用者輸入的url?
2、 怎麼判斷輸入的url是否是受保護的?
3、 在使用者量很大的情況下,每乙個url都要進行判斷,怎樣提高判斷的效能?
方法:1、 在web.xml中可以定義filter,伺服器會更據filter的定義進行攔截,以及相應的處理。例如下面的配置:
webfilter
com.cyberway.web.filter.webfilter
webfilter /*
filter-name:定義過濾器的名稱
filter-class:定義過濾器處理的類
url-pattern:定義攔截url
/*:表示所有的都攔截
*.jsp:只攔截jsp檔案
2、利用資料庫把需要保護的url儲存起來,每請求一次,檢測一次。
3、如果每請求一次,都去資料庫訪問檢測一次,這樣效能一定會非常差的。**穩定以後受保護的頁面一般更新較少,我們可以第一次請求時,從資料庫中獲取所有的受保護頁面,儲存在hashtble中,然後每次從hashtable中進行檢測。如果更新了受保護頁面,則需更新hashtable。其實就是一種catch模式。事例**如下:
public class urlhelper{
private static urlhelper me;
private hashtable urltable;
private boolean hasinit=false;
static{
me=new urlhelper(); }
private urlhelper()
public urlhelper getinstance()
public boolean ishasinit
public void init() }
//根據url判斷是否上受保護的
public boolean isprotected(string url)
private collection getallurls() }
webfilter類如下:
//forward乙個頁面
private void setforward(string url, servletrequest request,
servletresponse response) throws exception }
用Perl製作頁面計數器
計數器可以用資料庫方式實現,也可以用文字檔案方式實現。由於文字檔案方式不涉及系統的資料庫管理系統,相對簡單,容易實現,因此,在這裡介紹文字方式的計數器。計數器的原理比較簡單,頁面每次被訪問的時候,對記錄訪問次數的數字加1,然後將這個數顯示出來。原理雖然簡單,在具體實現上還是需要一定的技巧。由於乙個c...
頁面製作流程
1.看效果圖,首先要了解頁面,然後出現問題即時與設計人員溝通。2.做好html框架的規劃,搭建html框架 要求結構化和標籤語義化 新增語義化的命名。3.根據上一步的框架,寫html框架和css樣式的報告。以有利於加快專案進度和方便後期管理。4.編寫html框架 即為頁面中的文字內容和 需要考慮 結...
jquery css製作tab頁面
本文介紹除了table之外的方法,用jquery和css完成,主要z index設定層級。完成效果圖 將上方的三個文字塊絕對定位,定義好寬度width和高度height,用margin left擺放好三個div塊的位置,然後將最下方的div用margin top向下移動height 1畫素即可,剛好...