日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Servlet和JSP技術(shù)特性

J2EE 1.4提供用Java開發(fā)Web應(yīng)用程序的新的Servlet 2.4和JavaServer Pages (JSP) 2.0技術(shù)。本文展示了這兩種技術(shù)的新特性,并在適當?shù)牡胤教峁┟總€特性的示例代碼。本文假設(shè)讀者熟悉以前的 Servlet 2.3和JSP 1.2版本。給出的例子已用Tomcat 5(包含在Java Web Services Developer Pack 1.2中)進行了測試。

十多年的嵩明網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整嵩明建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“嵩明網(wǎng)站設(shè)計”,“嵩明網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

Servlet和JSP毫無疑問是兩種應(yīng)用最廣的J2EE技術(shù)。Servlet技術(shù)是用Java進行Web應(yīng)用編程的基礎(chǔ),也是JSP的基礎(chǔ)。但是,servlet編程可能會非常麻煩。特別是當你不得不發(fā)送一個沒多少代碼的長HTML頁面時更是如此。每個HTML標記必須嵌入到字符串中,用PrintWriter對象的顯示方式發(fā)送。是一種工作單調(diào)乏味而煩人的工作。使用servlet的另一個缺點是每一處改變都需要servlet程序員介入。

Sun公司了解到這一問題之后便開發(fā)了JSP作為解決方案。在JSP中,程序員和頁面設(shè)計員的分工變得容易多了,并且當Servlet和JSP頁面更改時會自動進行編譯。不過請注意,JSP是servlet技術(shù)的一個擴展,而不是廢棄servlet。在實際應(yīng)用當中,servlet和JSP頁面一起使用。

Servlet 2.4提供了幾個新類,且不支持javax.servlet.SingleThreadModel接口。這一版本只支持HTTP 1.1,所以Servlet 2.4應(yīng)用程序不適用于HTTP 1.0客戶程序。2.4版增加了請求監(jiān)聽器和請求屬性監(jiān)聽器,并能在一個應(yīng)用程序中將servlet用作歡迎頁面。另外,Servlet 2.4還提供了更好的ServletRequest和RequestDispatcher對象,并更好地支持國際化。此外,現(xiàn)在是根據(jù)模式而不是文檔類型定義(document-type definition,DTD)文件來驗證部署描述符是否有效。這就意味著支持部署描述符的可擴展性。

下面具體說明Servlet 2.4的新特性。請求監(jiān)聽器和請求屬性監(jiān)聽器。Servlet 2.3增加了servlet上下文相關(guān)監(jiān)聽器和會話相關(guān)監(jiān)聽器。Servlet 2.4增加了新的javax.servlet.ServletRequestListener和javax.servlet.ServletRequestAttributeListener兩種接口,它們會通知你與Request對象有關(guān)的事件。如果你對每個Request對象的初始化和撤消感興趣,你可以實施ServletRequestListener接口。這個接口有兩個方法:requestInitialized()和requestDestroyed()。當需要一個Request對象時,servlet容器便調(diào)用requestInitialized方法。當不再需要Request對象時,servlet容器便調(diào)用requestDestroyed方法。

這兩個方法都從servlet容器接收一個javax.servlet.ServletRequestEvent對象??梢詮腟ervletRequestEvent實例獲得servlet上下文和servlet請求。

第二個監(jiān)聽器接口ServletRequestAttributeListener處理Request對象屬性的添加、更改和刪除。該接口有以下方法:
attributeAdded。向Request對象添加新屬性時由servlet容器調(diào)用。
attributeRemoved。從Request對象中刪除屬性時由servlet容器調(diào)用。
attributeReplaced。Request對象中現(xiàn)有屬性值被替換時由servlet容器調(diào)用。

這三個方法從servlet容器獲得javax.servlet.ServletRequestAttributeEvent類的一個實例。ServletRequestAttributeEvent類擴展了ServletRequestEvent類,并添加了兩個新方法:getName和getValue。getName方法返回觸發(fā)事件的屬性的名稱,getValue返回屬性的值。

代碼清單1 給出這兩個新的監(jiān)聽器的示例類。當servlet容器調(diào)用方法時二者都顯示方法名。監(jiān)聽器經(jīng)過編譯后,它們的類文件必須被部署到WEB-INF/classes目錄下。ServletRequest中的新方法。在Servlet 2.4中,javax.servlet.ServletRequest接口增加了4個新方法:

getRemotePort。返回發(fā)送請求的客戶機或最后一個代理服務(wù)器的Internet Protocol(IP)源端口。
getLocalName。返回從中接收請求的IP接口的主機名。
getLocalAddr。返回從中接收請求的接口的IP地址。
getLocalPort。返回從中接收請求的接口的IP端口號。

請注意,在Servlet 2.3中,getServerName和getServerPort方法返回的值就是現(xiàn)在getLocalName和getLocalPort返回的值。在2.4版中,getServerName和getServerPort已重新定義。欲了解更多的信息,請查看API文檔。

將一個JSP頁面中的代碼示例如下

 
 
 
  1. out.println("
    Remote Port : " +  
  2. request.getRemotePort());  
  3. out.println("
    Local Name : " +  
  4. request.getLocalName());  
  5. out.println("
    Local Addr : " +  
  6. request.getLocalAddr());  
  7. out.println("
    Local Port : " +  
  8.  
  9. request.getLocalPort()); 

如果一個Request對象未被傳遞,則這些屬性的值為null。另一方面,在所傳遞來對象的資源中這些屬性將具有非null值。當某一個資源必須只能通過另一個資源調(diào)用而不能直接調(diào)用時,這些屬性值很有用。

舉個例子,在一個叫做myApp的Context(上下文)中有一個名為ModernServlet的servlet, ModernServlet被傳遞給TargetServlet。 在TargetServlet中,顯示代碼清單2中的代碼。

myApp的部署描述符包含以下和元素:

 
 
 
  1.  
  2. Modern servlet-name> 
  3. ModernServlet  
  4. servlet-class> 
  5. servlet> 
  6.  
  7. Modern servlet-name> 
  8. /Modern url-pattern> 
  9. servlet-mapping> 
  10.  
  11. Target servlet-name> 
  12. TargetServlet  
  13. servlet-class> 
  14.  
  15. servlet> 
  16.  
  17. Target servlet-name> 
  18. /Target url-pattern> 
  19. servlet-mapping> 

當前題目:Servlet和JSP技術(shù)特性
文章鏈接:http://www.5511xx.com/article/cdhocej.html