// ANOTAÇÃO CONFIGURAÇÃO DWR servletPrivate void InitializedWrServlet (contêiner servletContext) {dwrServlet dwrServlet = new DwrServlet (); servletRegistration.dynamic dinâmico = container.addrletLet ("dwr-invoker 2, drServlet); dinâmico. "true"); dinâmico.setInitParameter ("PollandComEteNabled", "True"); Dynamic.SetinitParameter ("ActiveReververseaJaxEnabled", "True"); Dynamic.setinitParameter ("MaxwaitAfterwrite", "1800000); "60000"); dinâmico.setInitParameter ("Classes", dWrannotationClassSConfiguration ()); Dynamic.addmapping ("/dwr/*");} // Configurar DWR Anotation Classes, String, StringPrivate String DwrannotationCllassScan () {String, stringburtdPrivate String DwrannotationCllassScan () {String String Stringbuffer (); config.append ("com.g360.bean.reconsole.opcost.annualOpcoStReCeStController"); config.append (","); config.append ("com.g360.bean.security.sessionexPiredParam;上面我的配置是基于注解版的 DWR Servlet 配置 (将 web.xml 里面的 servlet 配置转换为了纯 java 代码配置) , 当然也包括前端和后端直接交互的类 (
com.g360.bean.reconsole.opcost.annualOpCosTReCeStController , com.g360.bean.security.sessionExiredParam
) 也是使用注解配置的 (dwr 注解配置 , 包括@remoteproxy ,@remotemethod) , 这对于有些注解配置基础的同学来说可能比较容易看懂 , 对于初次接触的有什么不懂的可以给我留言哦; 对于初次接触的有什么不懂的可以给我留言哦;
com.g360.bean.security.sessionExpiredParam 的注解配置如下所示:
@Component ("sessionexpiredParam") @RemoteProxy (criador = springcreator.class, scope = scriptscope.Application, name = "remoto", creatorporams = @param (name = "bEanName", value = "sessionexiredParam) = classe pública sessionPiram {private STATTA" LoggerFactory.getLogger (sessionExpiredParam.class); public boolean issessionExpire (string sessionId) {return null == constantCacheService.getCacheConstant (sessionID); } @RemoTemethod Public void setEnabledWrupdate (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 ativado", jSessionID, dwrSessionId)); ConstantCacheService.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> <borth> <Create Creative = "new" Javascript = "Remote" Scope = "Application"> <Mancty> value = "com.g360.bean.security.sessionExpiredParam"/> </Create> </blow> </dwr>
对于 com.g360.bean.reconsole.opcost.annualopCosTreCeStController 来说道理一样 , 这里就不多做说明了; 这里就不多做说明了; 这里就不多做说明了;
对于使用 dwrServlet 来说要使用纯注解配置 (不使用 dwr.xml) 一定要注意在初始化参数时一定要配置 classes 这个参数 , 而且这个参数是这个注解类的全路径名 , 有多个的话就使用逗号分隔 , , 因为 dwr3.0 好像还不支持包扫描 , 不知道是需要什么配置才能实现还是怎么的 , , , , , , , 请随时留言;