// Конфигурация аннотации dwr ServletPrivate void initializedWrservlet (контейнер ServletContext) {dwrservlet dwrservlet = new dwrservlet (); servletregistration.dynamic dynamic = intainer.Addservlet ("dwr-invoker", dwrservlet); dynamic.setloadStartUpplet (2); Specugerameter ", Dynamic.SetLoalOnstartup (2); SpecugeRameter", Dynamic.SetLoalOnstartUp (2); SpecugeRameter ". "True"); Dynamic.SetInitParameter ("pollandCometenabled", "true"); Dynamic.setInitParameter ("ActiveReverEraCaxEnabled", "true"); Dynamic.setInitParameter ("maxWaitafterWrite", "1800000"); Dynamic.setIntParameter ("DelesnedTime" "60000"); Dynamic.SetInitParameter ("classes", dWrannotationClassSconfiguration ()); Dynamic.AddMaping ("/dwr/*");} // Конфигурировать классы аннотации dw StringBuffer (); config.Append ("com.g360.bean.reconsole.opcost.annualopcostrequestcontroller"); config.append (","); config.append ("com.g360.bean.session.sessionExpiredParam");上面我的配置是基于注解版的 DWR Servlet 配置 (将 web.xml 里面的 Сервлет 配置转换为了纯 java 代码配置) , (
com.g360.bean.reconsole.opcost.annualopcostrequestcontroller , com.g360.bean.security.sessionexpiredparam
) 也是使用注解配置的 (dwr 注解配置 , 包括@remoteproxy ,@remotemethod) , 这对于有些注解配置基础的同学来说可能比较容易看懂 对于初次接触的有什么不懂的可以给我留言哦;
com.g360.bean.security.sessionexpiredParam 的注解配置如下所示 :
Component ("sessionExpiredParam") @remoteproxy (creator = springcreator.class, scope = scriptscope.application, name = "remote", creatorparams = @param (name = "beanname", value = "sessionexpiredparam")) public classeexpiredparam {private static final logger = LoggerFactory.getLogger (sessionExpiredParam.class); public boolean issessionExpire (string sessionId) {return null == constantCachService.getCacheConstant (sessionId); } @RemoteMethod public void setEnabledWruprupdate (String sessionId) {scriptsession scriptsession = webcontextfactory.get (). GetScriptSession (); String jsessionId = scriptsession.gethttpsessionId (); String dwrsessionId = scriptsession.getId (); Logger.info (string.format ("set jsessionId = [%s], dwrsession = [%s] push включен", jsessionId, dwrsessionId)); ConstantCachService.putCacheConstant (constants.push_id+jsessionId, dwrsessionId); }}这就是相当于 dwr.xml 配置文件中如下所示 :
<! Doctype dwr public "-// getahead Limited // dtd Direct Web Remoting 3.0 // en" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <lame> <create creator = "new" javascript = "remote" scope = "> <param name =" class " value = "com.g360.bean.security.sessionexpiredparam"/> </create> </allow> </dwr>
对于 com.g360.bean.reconsole.opcost.annualOpCoStrequestController 来说道理一样 , 这里就不多做说明了;
对于使用 dwrservlet 来说要使用纯注解配置 (不使用 dwr.xml) 一定要注意在初始化参数时一定要配置 классы 这个参数 , 而且这个参数是这个注解类的全路径名 有多个的话就使用逗号分隔 , 这个是特别重要的哦 , 因为 dwr3.0 好像还不支持包扫描 不知道是需要什么配置才能实现还是怎么的 不知道是需要什么配置才能实现还是怎么的 如果有哪位仁兄正好看见 , 也正好知道的话请留言麻烦告诉一下 , , 请随时留言;