在tomcat 中測試comet技術,結果工程出現這樣的錯誤,
org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor </p><p> at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) </p><p> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)<br />
後來網上查了下,需要
修改了tomcat裡的context.xml檔案,在context 元素下添加 </p><p><Loader delegate="true" /><br />
但是我本地有點問題 ,下面這樣子可以,不會報錯,
<Context></p><p><Loader delegate="true" /> </p><p> <!-- Default set of monitored resources --><br /> <WatchedResource>WEB-INF/web.xml</WatchedResource></p><p> <!-- Uncomment this to disable session persistence across Tomcat restarts --><br /> <!--<br /> <Manager pathname="" /><br /> --></p><p> <!-- Uncomment this to enable Comet connection tacking (provides events<br /> on session expiration as well as webapp lifecycle) --><br /> <!--<br /> <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /><br /> --></p><p></Context>
這樣子依然會出錯
<Context></p><p> <!-- Default set of monitored resources --><br /> <WatchedResource>WEB-INF/web.xml</WatchedResource></p><p> <!-- Uncomment this to disable session persistence across Tomcat restarts --><br /> <!--<br /> <Manager pathname="" /><br /> --></p><p> <!-- Uncomment this to enable Comet connection tacking (provides events<br /> on session expiration as well as webapp lifecycle) --><br /> <!--<br /> <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /><br /> --></p><p><Loader delegate="true" /><br /></Context>