掃盲 about session,Bean,網關等

1java

Session:在計算機中,尤爲是在網絡應用中,稱爲「會話」。程序員

 

session簡介

Session直接翻譯成中文比較困難,通常都譯成時域。在計算機專業術語中,Session是指一個終端用戶與交互系統進行通訊的時間間隔,一般指從註冊進入系統到註銷退出系統之間所通過的時間。web

具體到Web中的Session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所通過的這段時間,也就是用戶瀏覽這個網站所花費的時間。所以從上述的定義中咱們能夠看到,Session其實是一個特定的時間概念。數據庫

須要注意的是,一個Session的概念須要包括特定的客戶端,特定的服務器端以及不中斷的操做時間。A用戶和C服務器創建鏈接時所處的Session同B用戶和C服務器中創建鏈接時所處的Sessions是兩個不一樣的Session。編程

 

Session的解決方案

那什麼是Session的解決方案呢?咱們知道,用戶訪問一個網站時每每須要瀏覽許多網頁。對於一個經過PHP構築的網站來講,用戶在訪問的過程當中須要執行許多的PHP腳本。然而因爲HTTP協議自身的特色,用戶每執行一個PHP腳本都須要和Web服務器從新創建鏈接。瀏覽器

又因爲無狀態記憶的特色,這次鏈接沒法獲得上次鏈接的狀態。這樣,用戶在一個PHP腳本中對一個變量進行了賦值操做,而在另一個PHP腳本中卻沒法獲得這個變量的值。例如,用戶在負責登陸的PHP腳本中設置了$user="wind",卻沒法在另外一個PHP腳本中經過調用$user來得到「wind」這個值。也就是說,在PHP中沒法設置全局變量。每一個PHP腳本中所定義的變量都是隻在這個腳本內有效的局部變量。tomcat

Session解決方案,就是要提供在PHP腳本中定義全局變量的方法,使得這個全局變量在同一個Session中對於全部的PHP腳本都有效。上面咱們提到了,Session不是一個簡單的時間概念,一個Session中還包括了特定的用戶和服務器。所以更詳細地講,在一個Session定義的全局變量的做用範圍,是指這個Session所對應的用戶所訪問的全部PHP。安全

例如A用戶經過Session定義了一個全局變量$user=「wind」中,而B用戶經過Session定義的全局變量$user=「jane」。那麼在A用戶所訪問的PHP腳本中,$user的值就是wind。服務器

 

百科名片

  
網關工做原理圖

網關(Gateway)又稱網間鏈接器、協議轉換器。網關在傳輸層上以實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不一樣的網絡互連。網關既能夠用於廣域網互連,也能夠用於局域網互連。 網關是一種充當轉換重任的計算機系統或設備。在使用不一樣的通訊協議、數據格式或語言,甚至體系結構徹底不一樣的兩種系統之間,網關是一個翻譯器。與網橋只是簡單地傳達信息不一樣,網關對收到的信息要從新打包,以適應目的系統的需求。同時,網關也能夠提供過濾和安全功能。大多數網關運行在OSI 7層協議的頂層--應用層。網絡

 

 

 

 

 

 

概念詳解

你們都知道,從一個房間走到另外一個房間,必然要通過一扇門。一樣,從一個網絡向另外一個網絡發送信

  

網關

息,也必須通過一道「關口」,這道關口就是網關。顧名思義,網關(Gateway)就是一個網絡鏈接到另外一個網絡的「關口」。

在OSI中,網關有兩種:一種是面向鏈接的網關,一種是無鏈接的網關。當兩個子網之間有必定距離時,每每將一個網關分紅兩半,中間用一條鏈路鏈接起來,咱們稱之爲半網關。

按照不一樣的分類標準,網關也有不少種。TCP/IP協議裏的網關是最經常使用的,在這裏咱們所講的「網關」均指TCP/IP協議下的網關。

那麼網關究竟是什麼呢?網關實質上是一個網絡通向其餘網絡的IP地址。好比有網絡A和網絡B,網絡A的IP地址範圍爲「192.168.1.1~192. 168.1.254」,子網掩碼爲255.255.255.0;網絡B的IP地址範圍爲「192.168.2.1~192.168.2.254」,子網掩碼爲255.255.255.0。在沒有路由器的狀況下,兩個網絡之間是不能進行TCP/IP通訊的,即便是兩個網絡鏈接在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)斷定兩個網絡中的主機處在不一樣的網絡裏。而要實現這兩個網絡之間的通訊,則必須經過網關。若是網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它本身的網關,再由網關轉發給網絡B的網關,網絡B的網關再轉發給網絡B的某個主機(如附圖所示)。網絡B向網絡A轉發數據包的過程。

因此說,只有設置好網關的IP地址,TCP/IP協議才能實現不一樣網絡之間的相互通訊。那麼這個IP地址是哪臺機器的IP地址呢?網關的IP地址是具備路由功能的設備的IP地址,具備路由功能的設備有路由器、啓用了路由協議的服務器(實質上至關於一臺路由器)、代理服務器(也至關於一臺路由器)。

在和 Novell NetWare 網絡交互操做的上下文中,網關在 Windows 網絡中使用的服務器信息塊 (SMB) 協議以及 NetWare 網絡使用的 NetWare 核心協議 (NCP) 之間起着橋樑的做用。網關也被稱爲 IP 路由器。

默認網關

若是搞清了什麼是網關,默認網關也就好理解了。就好像一個房間能夠有多扇門同樣,一臺主機能夠有多個網關。默認網關的意思是一臺主機若是找不到可用的網關,就把數據包發給默認指定的網關,由這個網關來處理數據包。如今主機使用的網關,通常指的是默認網關。

做用及工做流程

假設你的名字叫小不點,你住在一個大院子裏,你的鄰居有不少小夥伴,在門口傳達室還有個看大門的

  

網關

李大爺,李大爺就是你的網關。當你想跟院子裏的某個小夥伴玩,只要你在院子裏大喊一聲他的名字,他聽到了就會迴應你,而且跑出來跟你玩。

可是你不被容許走出大門,你想與外界發生的一切聯繫,都必須由門口的李大爺(網關)用電話幫助你聯繫。假如你想找你的同窗小明聊天,小明家住在很遠的另一個院子裏,他家的院子裏也有一個看門的王大爺(小明的網關)。可是你不知道小明家的電話號碼,不過你的班主任老師有一份大家班全體同窗的名單和電話號碼對照表,你的老師就是你的DNS服務器。因而你在家裏撥通了門口李大爺的電話,有了下面的對話:

小不點:李大爺,我想找班主任查一下小明的電話號碼行嗎?

李大爺:好,你等着。(接着李大爺給你的班主任掛了一個電話,問清楚了小明的電話)問到了,他家的號碼是211.99.99.99

小不點:太好了!李大爺,我想找小明,你再幫我聯繫一下小明吧。

李大爺:沒問題。(接着李大爺向電話局發出了請求接通小明家電話的請求,最後一關固然是被轉接到了小明家那個院子的王大爺那裏,而後王大爺把電話給轉到小明家)

就這樣你和小明取得了聯繫。


 

在JSP中

Jsp的session是使用bean的一個生存期限,通常爲page,session意思是在這個用戶沒有離開網站以前一直有效,若是沒法判斷用戶什麼時候離開,通常依據系統設定,tomcat中設定爲30分鐘.

咱們使用session功能,能夠達到多個jsp程序從操做同一個java bean, 那麼這個java bean能夠做爲咱們傳統意義上的"全局變量池".(在java中咱們可使用static靜態化一個變量和方法,使用singleton惟一化對象.)

在項目實踐中,咱們Jsp程序中不少參數須要從數據庫中讀取,有的參數實際讀取一次就能夠,若是設計成每一個用戶每產生一個頁面都要讀取數據庫,很顯然,數據庫的負載很大,同時也浪費時間,雖然可能有數據庫鏈接池優化,可是儘可能少使用數據庫是咱們編程的原則.

2

定義

Bean是Enterprise Java Bean的縮寫,一個Bean扮演着應用程序素材的角色。她包含有一個functional interface,一個life-cycle interface,以及一個實作它所支援的商業方法的類別。

是描述Java的軟件組件模型,有點相似於Microsoft的COM組件概念。在Java模型中,經過JavaBean能夠無限擴充Java程序的功能,經過JavaBean的組合能夠快速的生成新的應用程序。對於程序員來講,最好的一點就是JavaBean能夠實現代碼的重複利用,另外對於程序的易維護性等等也有很重大的意義。

好比說一個購物車程序,要實現購物車中添加一件商品這樣的功能,就能夠寫一個購物車操做的JavaBean,創建一個public的AddItem成員方法,前臺Jsp文件裏面直接調用這個方法來實現。若是後來又考慮添加商品的時候須要判斷庫存是否有貨物,沒有貨物不得購買,在這個時候咱們就能夠直接修改JavaBean的AddItem方法,加入處理語句來實現,這樣就徹底不用修改前臺jsp程序了。

一個簡單的JavaBean

FirstJavaBean.java

import java.io.*;

public class FirstJavaBean {

private String FirstProperty = new String("");

public FirstJavaBean() {}

public String getFirstProperty() {

return FirstProperty;

}

public void setFirstProperty(String value) {

FirstProperty = value;

}

public static void main(String[] args)

{

System.out.println("My First JavaBean!");

}

}

若是運行這個程序,就會出現下面的結果:

My First JavaBean!

這是一個很典型的JavaBean的表明,簡單地解釋一下,FirstProperty是其中的一個屬性(Property),外部經過get/set方法能夠對這個屬性進行操做,若是您寫過VB的class的話,對這個就再也熟悉不過了。Main方法是爲了測試程序用的,寫JavaBean能夠先沒必要加入到Jsp程序中調用,而直接用main方法來進行調試,調試好之後就能夠在Jsp程序中調用了。

3

中文名稱:
網關
英文名稱:
gateway;GW
定義:
在採用不一樣體系結構或協議的網絡之間進行互通時,用於提供協議轉換、路由選擇、數據交換等網絡兼容功能的設施。
所屬學科:
通訊科技(一級學科); 通訊網絡(二級學科)

 

 

JavaBean 概述

用戶可使用JavaBean將功能、處理、值、數據庫訪問和其餘任何能夠用java代碼創造的對象進行打包,而且其餘的開發者能夠經過內部的JSP頁面、Servlet、其餘JavaBean、applet程序或者應用來使用這些對象。用戶能夠認爲JavaBean提供了一種隨時隨地的複製和粘貼的功能,而不用關心任何改變。

相關文章
相關標籤/搜索