Servlet 3.0 비동기식 요청 이해

5201 단어
비동기 요청의 기초 개념
비동기 요청의 가장 직접적인 사용법은 시간 소모 업무를 처리하는 것이다. Http 프로토콜은 단방향이기 때문에 클라이언트만 끌어당길 수 있고 서버는 밀어낼 수 없다.
비동기 요청의 핵심 원리는 주로 두 가지로 나뉜다. 1.윤문하다.2 긴 연결
윤문: 정해진 시간에 결과를 얻는 것입니다.
긴 연결: 클라이언트가 서버를 요청한 후 연결이 닫히지 않고 비동기 요청 처리가 끝난 후에만 연결을 닫습니다.
비동기식 요청에 대한 Servlet 3.0 지원
Servlet 3.0에서 비동기 요청에 대한 지원은 매우 간단합니다. 요청하는 과정에서 request의 startAsync를 호출하면 됩니다. 되돌아오는 값은 AsyncContext입니다.AsyncContext는 비동기 요청 용기로 비동기 요청과 관련된 모든 정보를 저장하는 역할을 합니다. 예를 들어 Servlet의 ServletContext와 유사합니다.주의해야 할 것은 startAsync를 여러 번 호출하여 같은 AsyncContext로 되돌아오는 것이다.
public interface AsyncContext {
    String ASYNC_REQUEST_URI = "javax.servlet.async.request_uri";
    String ASYNC_CONTEXT_PATH = "javax.servlet.async.context_path";
    String ASYNC_PATH_INFO = "javax.servlet.async.path_info";
    String ASYNC_SERVLET_PATH = "javax.servlet.async.servlet_path";
    String ASYNC_QUERY_STRING = "javax.servlet.async.query_string";

    ServletRequest getRequest();

    ServletResponse getResponse();// response

    boolean hasOriginalRequestAndResponse();

    void dispatch();// ( )

    void dispatch(String var1);// ( )

    void dispatch(ServletContext var1, String var2);// ( )

    void complete();// , .

    void start(Runnable var1);// 

    void addListener(AsyncListener var1);// 

    void addListener(AsyncListener var1, ServletRequest var2, ServletResponse var3);

    extends AsyncListener> T createListener(Class var1) throws ServletException;

    void setTimeout(long var1);// 

    long getTimeout();
}

Servlet 3.0 비동기 요청 3부작 처리
1. 서브렛을 구성할 때 async-supported를 true로 설정합니다.
2. servlet 처리 방법에서 Request의 startAsync 방법을 호출하여 비동기 처리를 시작합니다.
3. 위의 AsyncContext를 사용하여 비동기식 요청을 처리합니다.
웹을 설정합니다.xml
  <servlet>
    <servlet-name>WorkServletservlet-name>
    <servlet-class>controller.WorkSerletservlet-class>
    <async-supported>trueasync-supported>
  servlet>
  <servlet-mapping>
    <servlet-name>WorkServletservlet-name>
    <url-pattern>/workurl-pattern>
  servlet-mapping>

 
다음으로 전송:https://www.cnblogs.com/fxust/p/7905688.html

좋은 웹페이지 즐겨찾기