Servlet 메커니즘 Pushlet 원리 및 용법 상세 설명

Pushlet(coet 구조의 실현)은 Servlet 체 제 를 바탕 으로 서버 의 자바 대상 에서 클 라 이언 트 브 라 우 저(동적)HTML 페이지 로 데 이 터 를 직접 전송 하 는 것 입 니 다.자바 applt 이나 플러그 인의 도움 이 필요 하지 않 습 니 다.
MyEclipse 에서 프로젝트 를 만 듭 니 다.첨부 파일 에는 공식 다운로드 한 Pushlet 패키지 가 포함 되 어 있 으 며,개발 도구 로 직접 가 져 오 면 됩 니 다
  • 만 든 프로젝트 에 pushlet.jar,log4j.jar 를 추가 합 니 다.pushlet.properties,sources.properties 를 WEB-INF 로 복사 합 니 다.ajax-pushlet-client.js 를 WebRoot 아래로 복사 합 니 다
  • 웹.xml 설정
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd">
    <!-- $Id: web.xml,v 1.7 2005/02/21 17:21:49 justb Exp $ -->
    <web-app>
    	<!-- Define the pushlet servlet -->
    	<servlet>
    		<servlet-name>pushlet</servlet-name>
    		<servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>
    		<load-on-startup>3</load-on-startup>
    	</servlet>
    	<!-- Define the Servlet Mappings. -->
    	<!-- The pushlet -->
    	<servlet-mapping>
    		<servlet-name>pushlet</servlet-name>
    		<url-pattern>/pushlet.srv</url-pattern>
    	</servlet-mapping>
    </web-app>
    배경 코드 Hello World Plushlet.자바,이 종 류 는 내부 클래스 를 포함 합 니 다.
    
    package com;
    import nl.justobjects.pushlet.core.Event;
    import nl.justobjects.pushlet.core.EventPullSource;
    public class HelloWorldPlushlet {	
    	static public class HwPlushlet extends EventPullSource {
    		//     
    		@Override
    		protected long getSleepTime() {
    			return 5000;
    		}
    		@Override
    		protected Event pullEvent() {
    			Event event = Event.createDataEvent("/cuige/he");
    			event.setField("mess", "hello,world!Plushlet!");
    			return event;
    		}
    	}
    }
    
    sources.properties 는 다른 것 을 정리 하고 자신 이 발표 한 내용 을 정의 합 니 다.
    source1=com.HelloWorldPlushlet$HwPlushlet
    JSP 에서 호출
    
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<meta http-equiv="Pragma" content="no-cache" />
    		<script type="text/javascript" src="ajax-pushlet-client.js"></script>		
    		<script type="text/javascript">
    			PL._init(); 
    			PL.joinListen('/cuige/he');
    			function onData(event) { 
    				alert(event.get("mess")); 
    				//   
    				// PL.leave();
    			}
    		</script>
    	</head>
    	<body>
    		<center>
    		<h1>
    			my first pushlet!
    		</h1>
    		</center>
    	</body>
    </html>
    Tomcat 에 프로젝트 를 배치 한 후 방문 합 니 다.이 페이지 는 5 초 간격 으로 배경 에서 전 달 된 데 이 터 를 받 습 니 다!
    공사 배치 후 아래 그림 과 같이 전시 하 다.

    매번 방문 할 때마다 백 엔 드 는 관리 중인 사용자 정 보 를 인쇄 합 니 다.브 라 우 저 를 닫 으 면 서버 가 시간 을 초과 한 후에 자동 으로 청 소 됩 니 다!
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기