首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

DWR完成推送急需哪些依赖

2012-06-27 
DWR完成推送需要哪些依赖?构建一个推送的步骤:一、web.xml的配置:?xml version1.0 encodingutf-8?

DWR完成推送需要哪些依赖?
构建一个推送的步骤:

一、web.xml的配置:

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"><web-app><servlet><servlet-name>dwr-invoker</servlet-name><servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class><!-- 防止DWR CSRF Security Error 添加参数crossDomainSessionSecurity和allowScriptTagRemoting--><init-param><param-name>crossDomainSessionSecurity</param-name><param-value>false</param-value></init-param><init-param><param-name>allowScriptTagRemoting</param-name><param-value>true</param-value></init-param><!-- Comet方式 --><init-param><param-name>activeReverseAjaxEnabled</param-name><param-value>true</param-value></init-param><init-param><!-- 通知DWR 在应用程序启动时初始化 ReverseAjaxTracker 见配置dwr.xml --><param-name>initApplicationScopeCreatorsAtStartup</param-name><param-value>true</param-value></init-param><init-param><param-name>debug</param-name><param-value>true</param-value></init-param><!-- 激活json/jsonp服务 --><init-param><param-name>jsonpEnabled</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dwr-invoker</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping></web-app>


二、dwr.xml配置
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr20.dtd"><dwr>  <allow>  <!-- 声明为 application级别的只能有一个配置如下的要首先启动的类,如果有第二个将覆盖前一个 -->    <create creator="new" javascript="Comet" scope="application">      <param name="class" value="要首先启动的包名.类名"/>    </create>    <convert converter="bean" match="com.nwd.bean.Position"/>    <convert converter="bean" match="com.nwd.bean.AbstractEntity"/>  </allow>      <!-- 这里映射DWR与脚本的对应类型,可以查看源码dwr中放置了很多类型  -->  <signatures>   <![CDATA[    import java.util.List;      Comet.selectCar(List<String> tids);   ]]></signatures></dwr>


三、要首先启动的包名.类名,这个就是一般的类就可以了。
关键是这里需要定时器,定时遍历scriptsession往浏览器写出信息。

四、如果需要利用Hibernate,尤其要注意包不能多,包多了就会出现org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping />,以及另外一个错误Duplicate Mapping,这个并不是你将Configure改为AnnotationConfigure就能正确的,所以依赖包一定不要多。
利用Maven构建时,我只在pom.xml中配置了以下几个依赖包即可应用推送+Hibernate:
org.hibernate (hibernate-entitymanager.3.6.5.Final.jar)
org.directwebremoting (dwr.3.0.M1.jar)
commons-lang (commons-lang.2.6.jar)
commons-logging (commons-logging.1.1.1.jar)
jetty (servlet-api.2.5-6.02 .jar)
javax.transaction (jta.1.1.jar)
其他依赖包是靠这些配置的依赖包得来的,查看工程下的目录Maven Dependencies可以看到其他包如log4j等。






热点排行