{"id":321,"date":"2009-06-05T08:23:50","date_gmt":"2009-06-05T08:23:50","guid":{"rendered":"http:\/\/apollo89.com\/wordpress\/?p=321"},"modified":"2013-02-03T00:15:50","modified_gmt":"2013-02-02T15:15:50","slug":"dwrdirect-web-remoting-%ec%9d%98-reverse-ajax-%ec%99%80-jetty%ec%9d%98-%ec%a1%b0%ed%95%a9-%ed%99%98%ec%83%81","status":"publish","type":"post","link":"https:\/\/apollo89.com\/wordpress\/?p=321","title":{"rendered":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!!"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>\uc774\ubc88 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ud575\uc2ec \uae30\ub2a5\uc740 \uc11c\ubc84(Java \ucee8\ud14c\uc774\ub108) \ucabd\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8(\uac01 \ube0c\ub77c\uc6b0\uc838)\ub4e4\uc5d0\uac8c \ud2b9\uc815 \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c 5\ucd08 \ub0b4\uc5d0 \uc54c\ub9bc\uc744 \uc8fc\ub294 \uac83\uc774\ub2e4.(\ud31d\uc5c5\/\uacbd\ubcf4 \uc18c\ub9ac \ub4f1.)<\/p>\n<p>\ubcf4\ud1b5\uc740 Ajax\ub97c \uc368\uc11c \uc8fc\uae30\uc801\uc73c\ub85c Polling \ud574\uc624\uac70\ub098, \ud398\uc774\uc9c0 \ub9ac\ub85c\ub529 \ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud558\uc9c0\ub9cc, 5\ucd08\ub0b4\uc5d0 \uc751\ub2f5\uc744 \ud574\uc918\uc57c \ud55c\ub2e4\ub294 \uc81c\uc57d \uc0ac\ud56d \ub54c\ubb38\uc5d0 Pollong \ud558\uac8c \ub418\uba74 \uc5f4\ub9b0 \ube0c\ub77c\uc6b0\uc838\ub9cc\ud07c\uc758 \uc801\uc5b4\ub3c4 5\ucd08\uc5d0 1\ubc88\uc529\uc758 \ubd80\ud558\uac00 \uc11c\ubc84\uc5d0 \uc804\ub2ec\ub418\uae30 \ub54c\ubb38\uc5d0 \uc5c4\uccad\ub09c \ud2b8\ub808\ud53d \ub0ad\ube44\uc77c\ubfd0 \uc544\ub2c8\ub77c \ube44\ud6a8\uc728\uc801\uc774\ub2e4.(\ub610\ud55c \uac70\uc758 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\ub294 \uc774\ubca4\ud2b8\uc774\ub2e4.)<\/p>\n<p>\uadf8\ub798\uc11c Polling \ud558\uc9c0 \uc54a\uace0 \uad6c\ud604\ud558\ub824\uba74 \uc5b4\ub5bb\uac8c \ud574\uc57c \ud560\uae4c \uc0dd\uac01\ud574 \ubcf4\uc558\ub2e4.<br \/>\n1. \uc11c\ubc84\uc5d0\uc11c \uc774\ubca4\ud2b8 \uac10\uc9c0\ub97c \ud560 \uc218 \uc788\uc5b4\uc57c \ud558\uace0,<br \/>\n2. \uc11c\ubc84\uc5d0\uc11c \uc790\uc2e0\uc5d0\uac8c \ubd99\uc5b4\uc788\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\ub4e4\uc758 \ub9ac\uc2a4\ud2b8\ub97c \uc54c\uc544\uc57c \ud558\uace0<br \/>\n3. \uc11c\ubc84\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8\ub4e4\uc5d0\uac8c \uba54\uc138\uc9c0\ub97c \uc804\ub2ec\ud560 \uc218 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>\uadf8\ub807\uac8c \uc11c\ubc84 \ud478\uc2dc\uc5d0 \uad00\ub828\ub41c \uc790\ub8cc\ub97c \ucc3e\ub2e4\uac00 \ub9e4\uc6b0 \uc720\uc6a9\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc54c\uac8c \ub418\uc5c8\ub2e4. \ubc14\ub85c DWR(Direct Web Remoting)\uc774\ub2e4!!<\/p>\n<p>DWR\uc758 \ud648\ud398\uc774\uc9c0(<a href=\"http:\/\/directwebremoting.org\/\" target=\"_blank\">http:\/\/directwebremoting.org\/<\/a>)\uc5d0\uc11c \ubcf4\uba74 DWR\uc744 \uc774\ub807\uac8c \uc124\uba85\ud558\uace0\uc788\ub2e4.<\/p>\n<p>DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.<\/p>\n<p>\uc989, \uc11c\ubc84\uc758 \uc790\ubc14 \uc11c\ube14\ub9bf\uacfc \ube0c\ub77c\uc6b0\uc838\uc758 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uac00 \uc11c\ub85c \uc0c1\ud638\uc791\uc6a9 \ud560 \uc218 \uc788\ub2e4\ub294 \ub9d0\uc774\ub2e4!!<\/p>\n<p>\uc815\ub9d0 \ub180\ub77c\uc6e0\ub2e4!!\u314b<\/p>\n<p>\uc2e4\uc81c\ub85c \ud14c\uc2a4\ud2b8\ud558\uba74\uc11c \uc544\ub798\uc758 \uc0ac\uc774\ud2b8\ub97c \ucc38\uace0\ud558\uc600\ub2e4.<\/p>\n<p>\uc790\ubc14 \uac1c\ubc1c\uc790\ub97c \uc704\ud55c Ajax: Jetty\uc640 Direct Web Remoting\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud655\uc7a5 \uac00\ub2a5\ud55c Comet \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c\ud558\uae30<br \/>\n<a href=\"https:\/\/www.ibm.com\/developerworks\/kr\/library\/j-jettydwr\/\">https:\/\/www.ibm.com\/developerworks\/kr\/library\/j-jettydwr\/<\/a><\/p>\n<p>\uae30\ubcf8\uad6c\uc870\ub294 IBM\uc758 \uc790\ub8cc\ub97c \ucc38\uace0\ud558\uba74\uc11c DWR\uc758 \uac1c\ub150\uacfc \uc791\ub3d9\uc6d0\ub9ac\ub294 \ub2e4\ub978 \uc5ec\ub7ec \ube14\ub7ec\uadf8\uc640 \uce74\ud398, DWR\uc758 \ud648\ud398\uc774\uc9c0\uc5d0\uc11c \uc5bb\uc5c8\ub2e4.<\/p>\n<p>\ud2b9\ud788 IBM\uc758 \uc790\ub8cc\ub294 DWR\uc758 Reverse Ajax \uae30\ub2a5\uacfc Jetty\uc758 Continuations\uc758 \uae30\ub2a5\uc774 \uc798 \uc124\uba85\uc774 \ub418\uc5b4\uc788\ub2e4.<\/p>\n<p>\uadf8\ub7f0\ub370 \uc544\ubb34\ub9ac IBM\uc758 \uc790\ub8cc \ub418\ub85c \ud574\ub3c4 \ub3d9\uc791\uc744 \ud558\uc9c0 \uc54a\uc544\uc11c \ub9ce\uc774 \uace0\uc0dd\ud588\ub2e4..<br \/>\n(\ub2e4\ub978 \ubd84\ub4e4\uc740 \uae08\ubc29 \uc27d\uac8c \uc798\ud558\uc2e0 \uac83 \uac19\ub358\ub370&#8230;OTL)<\/p>\n<p>\ubb38\uc81c\ub294 ReverseAjaxTracker \ud074\ub798\uc2a4\uc5d0 \uc788\uc5c8\ub2e4..<\/p>\n<p>\uae30\uc874\ucf54\ub4dc :<\/p>\n<pre class=\"lang:java decode:true \" >\r\n...\r\nprivate ServerContext sctx;\r\n  public ReverseAjaxTracker() {\r\n    WebContext wctx = WebContextFactory.get();\r\n    sctx = ServerContextFactory.get(wctx.getServletContext());\r\n    RandomWalkGenerator.getInstance().addListener(this);\r\n  }\r\n  public void onCoord(GpsCoord gpsCoord) {\r\n    ScriptBuffer script = new ScriptBuffer();\r\n    script.appendScript(\"updateCoordinate(\").appendData(gpsCoord).appendScript(\");\");\r\n    \/\/ Push change out to clients viewing the page\r\n    Collection&lt;ScriptSession&gt; sessions = new HashSet&lt;ScriptSession&gt;();        \r\n    sessions.addAll(sctx.getScriptSessionsByPage(trackerPageUrl));\r\n    System.out.println(sessions.size());\r\n  \r\n    for (ScriptSession session : sessions) {\r\n      session.addScript(script);\r\n    }   \r\n  }\r\n...\r\n<\/pre>\n<p>\uc704\uc640 \uac19\uc774\ud558\uba74 sessions\uc758 \uac1c\uc218\uac00 \uc790\uafb8 &#8216;0&#8217;\uc774 \ub098\uc640\uc11c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4..<\/p>\n<p>\uadf8\ub798\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc218\uc815\ud588\ub2e4.<\/p>\n<pre class=\"lang:java decode:true \" >...\r\n  private WebContext webContext; \r\n  private ServletContext servletContext;\r\n  private ServerContext serverContext;\r\n \r\n  public ReverseAjaxTracker() {\r\n    webContext = WebContextFactory.get();\r\n    servletContext = webContext.getServletContext();  \r\n    serverContext = ServerContextFactory.get(servletContext);  \r\n    RandomWalkGenerator.getInstance().addListener(this);\r\n  }\r\n  public void onCoord(GpsCoord gpsCoord) {\r\n   String contextPath = servletContext.getContextPath(); \r\n   if (contextPath != null)  {  \r\n    Collection&lt;ScriptSession&gt; sessions = serverContext.getScriptSessionsByPage(contextPath + \"\/dwr-tracker.html\");\r\n     System.out.println(\"Collection&lt;ScriptSession&gt; sessions : \" + sessions.size());\r\n      \r\n    ScriptProxy proxy = new ScriptProxy(sessions);  \r\n    proxy.addFunctionCall(\"updateCoordinate\", gpsCoord);  \r\n   }  \r\n  }\r\n...<\/pre>\n<p>\uc704\uc640 \uac19\uc774 \ud558\ub2c8\uae4c \uc798 \ub3d9\uc791\ud588\ub2e4..\u3160\u3160<\/p>\n<p>\uc774\ubc88 \ud504\ub85c\uc81d\ud2b8\ub294 \uc880 \uc2e0\uc120\ud55c \ub3c4\uc804\uc73c\ub85c \ub9ce\uc740 \uc2dc\ub3c4\ub97c \ud574\ubcf4\ub824\uace0 \ud55c\ub2e4.<\/p>\n<p>\uac04\ub2e8\ud558\uac8c \uc8fc\uc694 \ud0a4\uc6cc\ub4dc\ub4e4\uc744 \uc0dd\uac01\ud574\ubcf4\uba74 \uc544\ub798 \uc815\ub3c4\uac00 \ub420 \uac83 \uac19\ub2e4.<\/p>\n<p>Maven, GIT, Hudson, Junit, Spring2.5, iBatis, Tiles, Jetty, Extis, DWR(Comet, Reverse Ajax), Oracle, Mysql<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \uc774\ubc88 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ud575\uc2ec \uae30\ub2a5\uc740 \uc11c\ubc84(Java \ucee8\ud14c\uc774\ub108) \ucabd\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8(\uac01 \ube0c\ub77c\uc6b0\uc838)\ub4e4\uc5d0\uac8c \ud2b9\uc815 \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c 5\ucd08 \ub0b4\uc5d0 \uc54c\ub9bc\uc744 \uc8fc\ub294 \uac83\uc774\ub2e4.(\ud31d\uc5c5\/\uacbd\ubcf4 \uc18c\ub9ac \ub4f1.) \ubcf4\ud1b5\uc740 Ajax\ub97c \uc368\uc11c \uc8fc\uae30\uc801\uc73c\ub85c Polling \ud574\uc624\uac70\ub098, \ud398\uc774\uc9c0 \ub9ac\ub85c\ub529 \ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud558\uc9c0\ub9cc, 5\ucd08\ub0b4\uc5d0 \uc751\ub2f5\uc744 \ud574\uc918\uc57c \ud55c\ub2e4\ub294 \uc81c\uc57d \uc0ac\ud56d \ub54c\ubb38\uc5d0 Pollong &hellip; <a href=\"https:\/\/apollo89.com\/wordpress\/?p=321\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[662,600,693],"tags":[395,389,396,397,390,398,399,253,393,400,401,402,403],"class_list":["post-321","post","type-post","status-publish","format-standard","hentry","category-java-jsp","category-javascript-html","category-webwas","tag-addfunctioncall","tag-comet","tag-continuations","tag-direct-web-remoting","tag-dwr","tag-getscriptsessionsbypage","tag-ibm","tag-jetty","tag-reverse-ajax","tag-reverseajaxtracker","tag-scriptproxy","tag-serverpush","tag-403"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/apollo89.com\/wordpress\/?p=321\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com\" \/>\n<meta property=\"og:description\" content=\"&nbsp; \uc774\ubc88 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ud575\uc2ec \uae30\ub2a5\uc740 \uc11c\ubc84(Java \ucee8\ud14c\uc774\ub108) \ucabd\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8(\uac01 \ube0c\ub77c\uc6b0\uc838)\ub4e4\uc5d0\uac8c \ud2b9\uc815 \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c 5\ucd08 \ub0b4\uc5d0 \uc54c\ub9bc\uc744 \uc8fc\ub294 \uac83\uc774\ub2e4.(\ud31d\uc5c5\/\uacbd\ubcf4 \uc18c\ub9ac \ub4f1.) \ubcf4\ud1b5\uc740 Ajax\ub97c \uc368\uc11c \uc8fc\uae30\uc801\uc73c\ub85c Polling \ud574\uc624\uac70\ub098, \ud398\uc774\uc9c0 \ub9ac\ub85c\ub529 \ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud558\uc9c0\ub9cc, 5\ucd08\ub0b4\uc5d0 \uc751\ub2f5\uc744 \ud574\uc918\uc57c \ud55c\ub2e4\ub294 \uc81c\uc57d \uc0ac\ud56d \ub54c\ubb38\uc5d0 Pollong &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/apollo89.com\/wordpress\/?p=321\" \/>\n<meta property=\"og:site_name\" content=\"Apollo89.com\" \/>\n<meta property=\"article:published_time\" content=\"2009-06-05T08:23:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-02-02T15:15:50+00:00\" \/>\n<meta name=\"author\" content=\"apollo89\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"apollo89\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"1\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321\"},\"author\":{\"name\":\"apollo89\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\"},\"headline\":\"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!!\",\"datePublished\":\"2009-06-05T08:23:50+00:00\",\"dateModified\":\"2013-02-02T15:15:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321\"},\"wordCount\":91,\"commentCount\":0,\"keywords\":[\"addFunctionCall\",\"Comet\",\"Continuations\",\"Direct Web Remoting\",\"DWR\",\"getScriptSessionsByPage\",\"IBM\",\"Jetty\",\"Reverse AJAX\",\"ReverseAjaxTracker\",\"ScriptProxy\",\"ServerPush\",\"\uc11c\ubc84\ud478\uc2dc\"],\"articleSection\":[\"Java\\\/JSP\",\"Javascript\\\/Html\",\"WEB\\\/WAS\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321\",\"name\":\"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#website\"},\"datePublished\":\"2009-06-05T08:23:50+00:00\",\"dateModified\":\"2013-02-02T15:15:50+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=321#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\\\/\\\/apollo89.com\\\/wordpress\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/\",\"name\":\"Apollo89.com\",\"description\":\"\uc544\ud3f4\ub85c\uc528\uc758 \uc7a1\ub2e4\ud55c \uacbd\ud5d8\ub4e4..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\",\"name\":\"apollo89\",\"description\":\"\uc544\ud3f4\ub85c89 \uc785\ub2c8\ub2e4.\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/apollo89.com\/wordpress\/?p=321","og_locale":"ko_KR","og_type":"article","og_title":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com","og_description":"&nbsp; \uc774\ubc88 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ud575\uc2ec \uae30\ub2a5\uc740 \uc11c\ubc84(Java \ucee8\ud14c\uc774\ub108) \ucabd\uc5d0\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8(\uac01 \ube0c\ub77c\uc6b0\uc838)\ub4e4\uc5d0\uac8c \ud2b9\uc815 \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c 5\ucd08 \ub0b4\uc5d0 \uc54c\ub9bc\uc744 \uc8fc\ub294 \uac83\uc774\ub2e4.(\ud31d\uc5c5\/\uacbd\ubcf4 \uc18c\ub9ac \ub4f1.) \ubcf4\ud1b5\uc740 Ajax\ub97c \uc368\uc11c \uc8fc\uae30\uc801\uc73c\ub85c Polling \ud574\uc624\uac70\ub098, \ud398\uc774\uc9c0 \ub9ac\ub85c\ub529 \ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud558\uc9c0\ub9cc, 5\ucd08\ub0b4\uc5d0 \uc751\ub2f5\uc744 \ud574\uc918\uc57c \ud55c\ub2e4\ub294 \uc81c\uc57d \uc0ac\ud56d \ub54c\ubb38\uc5d0 Pollong &hellip; Continue reading &rarr;","og_url":"https:\/\/apollo89.com\/wordpress\/?p=321","og_site_name":"Apollo89.com","article_published_time":"2009-06-05T08:23:50+00:00","article_modified_time":"2013-02-02T15:15:50+00:00","author":"apollo89","twitter_card":"summary_large_image","twitter_misc":{"\uae00\uc4f4\uc774":"apollo89","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"1\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/apollo89.com\/wordpress\/?p=321#article","isPartOf":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=321"},"author":{"name":"apollo89","@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82"},"headline":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!!","datePublished":"2009-06-05T08:23:50+00:00","dateModified":"2013-02-02T15:15:50+00:00","mainEntityOfPage":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=321"},"wordCount":91,"commentCount":0,"keywords":["addFunctionCall","Comet","Continuations","Direct Web Remoting","DWR","getScriptSessionsByPage","IBM","Jetty","Reverse AJAX","ReverseAjaxTracker","ScriptProxy","ServerPush","\uc11c\ubc84\ud478\uc2dc"],"articleSection":["Java\/JSP","Javascript\/Html","WEB\/WAS"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/apollo89.com\/wordpress\/?p=321#respond"]}]},{"@type":"WebPage","@id":"https:\/\/apollo89.com\/wordpress\/?p=321","url":"https:\/\/apollo89.com\/wordpress\/?p=321","name":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!! - Apollo89.com","isPartOf":{"@id":"https:\/\/apollo89.com\/wordpress\/#website"},"datePublished":"2009-06-05T08:23:50+00:00","dateModified":"2013-02-02T15:15:50+00:00","author":{"@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82"},"breadcrumb":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=321#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/apollo89.com\/wordpress\/?p=321"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/apollo89.com\/wordpress\/?p=321#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/apollo89.com\/wordpress"},{"@type":"ListItem","position":2,"name":"DWR(Direct Web Remoting) \uc758 Reverse Ajax \uc640 Jetty\uc758 \uc870\ud569 = \ud658\uc0c1!!"}]},{"@type":"WebSite","@id":"https:\/\/apollo89.com\/wordpress\/#website","url":"https:\/\/apollo89.com\/wordpress\/","name":"Apollo89.com","description":"\uc544\ud3f4\ub85c\uc528\uc758 \uc7a1\ub2e4\ud55c \uacbd\ud5d8\ub4e4..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/apollo89.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82","name":"apollo89","description":"\uc544\ud3f4\ub85c89 \uc785\ub2c8\ub2e4.","url":"https:\/\/apollo89.com\/wordpress\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=321"}],"version-history":[{"count":0,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions"}],"wp:attachment":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}