自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java EE 6新特性之Servlet 3.0的異步處理

原創(chuàng)
開發(fā) 后端
Servlet 3.0是Java EE 6使用的全新Servlet規(guī)范,這個版本的Servlet規(guī)范加入了諸多新特性,其中包括增強(qiáng)的可擴(kuò)展性,以及本文介紹的對異步處理的支持。

【51CTO精選譯文】在之前51CTO翻譯的的Java EE 6系列中,我們介紹了Servlet 3.0:JSR 315規(guī)范是Servlet技術(shù)的最新版本,這個規(guī)范的草案于2009年6月發(fā)布,并加入到Java EE 6當(dāng)中來。Servlet 3.0中加入了對異步處理的支持,Servlet線程不用再等待資源如數(shù)據(jù)庫的響應(yīng),在收到響應(yīng)前可以繼續(xù)處理其它事情,這個支持使持續(xù)客戶端連接成為可能,如聊天室應(yīng)用程序,有了異步處理的支持,Servlet和Ajax的搭配使用效率會更好。

為了確保為同步處理編寫的代碼不被用于異步上下文中,Servlet 3.0要求你在@WebServlet注解中將asyncSupported屬性設(shè)為true,你也可以在@WebFilter注解中將asynchSupported屬性設(shè)為true使Servlet過濾器也支持異步。

異步處理也包括ServletRequest方法,如startAsync(),它產(chǎn)生一個異步請求和新的類,如AsyncContext,這個類為異步操作提供執(zhí)行上下文。

下面是一個處理異步請求的Servlet示例:

  1. @WebServlet(name="CalculatorServlet", asyncSupported=true, urlPatterns={"/calc""/getVal"})  
  2.    public class CalculatorServlet extends HttpServlet{  
  3.       public void doGet(HttpServletRequest req, HttpServletResponse res) {  
  4.       ...  
  5.          AsyncContext aCtx = req.startAsync(req, res);  
  6.       }  
  7.       ...  
  8.    }  
  9.  

#t#注意startAsync()方法返回AsyncContext對象。

Servlet 3.0也包括一個新的監(jiān)聽器類AsyncListener,當(dāng)一個異步操作完成或超時時它會通知你,AsyncContext類包括一個complete()方法,當(dāng)異步操作完成時你可以用它提交響應(yīng),AsyncListener類有一個dispatch()方法,它可以將異步請求轉(zhuǎn)發(fā)給容器,以便其它框架,如JSP可以產(chǎn)生響應(yīng)。

【51CTO.com譯稿,非經(jīng)授權(quán)請勿轉(zhuǎn)載。合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com,且不得修改原文內(nèi)容?!?/p>

原文:Introducing the Java EE 6 Platform 作者:Ed Ort

責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2009-07-08 09:35:53

Java ServleServlet 3.0

2013-09-02 09:18:59

2009-12-11 11:33:09

NetBeans 6.

2009-07-23 09:42:44

EJB 3.1Java EE 6

2010-04-30 09:19:05

Servlet 3.0

2009-06-16 11:23:00

InstrumentaJava SE 6新特

2011-04-02 14:33:51

Bean ValidaJava EE 6Java

2010-01-22 09:52:32

JPA 2.0Java EE 6

2009-07-27 09:46:28

Silverlight

2011-07-27 16:12:35

Linux KerneLinux內(nèi)核

2009-08-31 14:45:07

Visual C# 3

2009-06-16 11:24:00

HTTP增強(qiáng)Java SE 6新特

2010-01-05 09:15:45

Java EE 6Bean驗證

2009-08-27 16:24:48

擴(kuò)展方法C# 3.0新特性

2022-10-26 07:14:25

Spring 6Spring業(yè)務(wù)

2009-08-24 17:55:44

C#3.0新特性

2009-06-22 09:34:00

Servlet的生命周

2010-05-11 16:22:40

2011-03-24 09:22:36

Java 7JDBC4

2009-07-08 10:02:41

Servlet 3.0
點贊
收藏

51CTO技術(shù)棧公眾號