方式一:(常用)
servletcontext sc = this.getservletcontext();
方式二:
servletcontext sc2 = this.getservletconfig().getservletcontext();
方式三:(常用)
servletcontext sc3 = req.getsession().getservletcontext();
(2)使用servletcontext物件完成資料共享: 使用作用域進行共享資料流轉
資料儲存:sc.setattribute(name, value)
資料獲取:sc.getattribute(name)返回的object型別
注意:
不同的使用者可以給servletcontext物件進行資料的訪問。
獲取的資料不存在返回null。
(3)獲取web.xml中的全域性配置
web.xml:(配置全域性資料):
(乙個該標籤只能有一組鍵值對,多個宣告多個該標籤)
name
zhangsan
//獲取web.xml全域性配置
string names = sc.getinitparameternames();//返回鍵名的列舉類
string name = sc.getinitparameter(「name」);//獲取上面全域性配置引數, 資料不存在返回null
作用:將靜態資料和**進行解耦;(相當於異地戀)。
(4)獲取myecplise中webroot(eclipse中的webcontent資料夾)下資源絕對路徑
獲取專案根目錄下的資源的絕對路徑:
io流寫法,固定寫好的:
動態獲取:獲取的目錄是專案根目錄,path引數為專案根目錄中的路徑
string path = sc.getrealpath(string path);
(5)獲取webcontent或webroot專案根目錄下資源的流物件
inputstream is = sc.getresoureasstream(string path);
注意: 此種方式只能獲取專案根目錄下的資源流物件,可以取到和web-inf統計目錄下的檔案的流物件;
class檔案的流物件需要使用類載入器獲取(不進web-inf資料夾);
編譯好的class檔案不能取到;
//建立網頁計數器:
//獲取計數資料
servletcontext sc = this.getservletcontext();
if( sc.getattribute(「nums」) != null)else
第二步:在登入成功後繪製頁面的servlet中獲取網頁瀏覽次數並顯示
//獲取網頁瀏覽次數
int nums = integer.parseint(this.getservletcontext().getattribute(「nums」))
response.getwriter().write(「當前網頁瀏覽次數為:」+nums)
第三步:在cookie登入校驗三天免登陸的重定向之前網頁計數器也要自增,因為也是一次登入。
int nums = (int)sc.getattribute(「nums」);
//計數器自增
nums+=1;
//再次儲存到servletcontext物件中
sc.setattribute(「nums」, nums);
覆寫init初始化方法,將資料讀取到servletcontext物件中
init() catch(exception e)finally
}
覆寫銷毀方法,儲存計數器到檔案中
destroy()catch(exception e)finally
開啟web.xml檔案,找到numservlet,配置1
JSP學習之Servlet用法分析
servlet是使用j aservlet應用程式設計介面編寫的j a程式,源於請求 響應模式,可以接受來自客戶端瀏覽器的http請求,產生乙個響應並返回客戶端.applet jsp j abean 和servlet的區別和聯絡 applet和servlet中都沒有main 方法,只有一些特定的方法,...
JSP 學習筆記
tomcat 配置 1.部署 web 應用 部署 web 應用到某個目錄後,要在 catalina home conf server.xml 檔案中新增相應條目並重啟 tomcat 才能生效。比如將乙個 web 應用專案 aaa 部署到了 d aaa,則需要在上述 server.xml 檔案中 與 ...
JSP學習總結
一 jsp內建物件 out物件 form表單兩種提交方式 get提交方式是通過url提交資料,提交的值會在url裡直接顯示,get方式提交的資料不超過2kb,安全性低但效率高 post 將使用者提交的資訊封裝在html header內,提交的資料量大,安全性高 二 請求重定向與請求 的區別 請求重定...