Comet4j部署,以及對Jfinal以及Zcurd專案的支援
範例及所需基礎資源包請參考《參考連結》。對於基礎jar包及js,參考連結中為google連結,被牆的小夥伴可從以下連結下載:
2、部署注意事項:
1)、comet4j僅支援tomcat伺服器且目前僅支援6、7版本,8尚未考證,據說使用7的jar包也能支援。
2)、jar包名稱:comet4j-tomcat6.jar、comet4j-tomcat7.jar
3)、需修改tomcat配置檔案,將http協議改為nio協議:
修改:
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> |
為:
<Connector port="8888" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" /> |
4)、若使用maven,需注意,maven內建的tomcat6或tomcat7可以修改server.xml中的protocol項,在pom.xml中tomcat的plugin下增加protocol節點即可。
<!-- 配置Tomcat外掛 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <protocol>org.apache.coyote.http11.Http11NioProtocol</protocol> </configuration> </plugin>
5)、comet4j可支援jfinal,只需在jfinal的JFinalConfig中增加如下UrlSkipHandler Handler。
/** |
若使用ZCURD專案,可在ZcurdConfig.java中增加。
3、Zcurd中測試頁面訪問地址:
4、報錯記錄
1)、瀏覽器返回報405錯
原因:tomcat的protocol未換成NIO協議。
2)、java.lang.ClassNotFoundException: org.apache.catalina.CometProcessor
原因:comet4j-tomcat.jar版本與實際執行中的tomcat版本不匹配。
3)、瀏覽器返回404
原因:jfinal未新增UrlSkipHandler Handler
5、參考連結,致謝: