激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Dwr3.0純注解(純Java Code配置)配置與應用淺析一之零配置文件化

Dwr3.0純注解(純Java Code配置)配置與應用淺析一之零配置文件化

2020-04-21 11:35源-代碼 JAVA教程

Dwr對我來說最重要的功能點就是反向Ajax調用,通俗來將就是后端可以直接調用前端的JS方法(只要在所能訪問的范圍內),這也就是Dwr的真正來由,當然它也有最基本的前端直接調用后端的特性,省去了我們經常的一般Ajax調用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Annotation configuration dwr servletprivate void initializeDwrServlet(ServletContext container)
{DwrServlet dwrServlet = new DwrServlet();
ServletRegistration.Dynamic dynamic = container.addServlet("dwr-invoker", dwrServlet    );
dynamic.setLoadOnStartup(2);
dynamic.setInitParameter("debug", "true");
dynamic.setInitParameter("pollAndCometEnabled", "true");
dynamic.setInitParameter("activeReverseAjaxEnabled", "true");
dynamic.setInitParameter("maxWaitAfterWrite", "1800000");
dynamic.setInitParameter("disconnectedTime", "60000");
dynamic.setInitParameter("classes", dwrAnnotationClasssConfiguration());
dynamic.addMapping("/dwr/*");}
// Configure Dwr Annotation Classes,comma separatedprivate String dwrAnnotationClasssConfiguration() {
StringBuffer config = new StringBuffer();
config.append("com.g360.bean.reconsole.opcost.AnnualOpCostRequestController");
config.append(",");config.append("com.g360.bean.security.SessionExpiredParam");
return config.toString();}

上面我的配置是基于注解版的Dwr Servlet配置(將web.xml里面的servlet配置轉換為了純Java代碼配置),當然也包括前端和后端直接交互的類(

com.g360.bean.reconsole.opcost.AnnualOpCostRequestController,com.g360.bean.security.SessionExpiredParam

)也是使用注解配置的(Dwr注解配置,包括@RemoteProxy,@RemoteMethod),這對于有些注解配置基礎的同學來說可能比較容易看懂,對于初次接觸的有什么不懂的可以給我留言哦;

com.g360.bean.security.SessionExpiredParam的注解配置如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@Component("sessionExpiredParam")
@RemoteProxy(creator = SpringCreator.class, scope = ScriptScope.APPLICATION, name = "remote", creatorParams = @Param(name = "beanName", value = "sessionExpiredParam"))
 public class SessionExpiredParam{
private static final Logger LOGGER = 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 enabled",jsessionId,dwrSessionId));
ConstantCacheService.putCacheConstant(Constants.PUSH_ID+jsessionId, dwrSessionId);
} }

這就是相當于dwr.xml配置文件中如下所示:

?
1
2
3
4
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"><dwr>
<allow> <create creator="new" javascript="remote" scope="application"
 <param name="class" value="com.g360.bean.security.SessionExpiredParam"/>
 </create> </allow></dwr>

對于com.g360.bean.reconsole.opcost.AnnualOpCostRequestController來說道理一樣,這里就不多做說明了;

對于使用DwrServlet來說要使用純注解配置(不使用dwr.xml)一定要注意在初始化參數時一定要配置 classes這個參數,而且這個參數是這個注解類的全路徑名,有多個的話就使用逗號分隔,這個是特別重要的哦,因為Dwr3.0好像還不支持包掃描,不知道是需要什么配置才能實現還是怎么的,如果有哪位仁兄正好看見,也正好知道的話請留言麻煩告訴一下,感激不盡?。g迎大家有什么不明白的地方或者有什么不對的地方,請隨時留言;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一二在线 | 日本韩国欧美一级片 | 成年人在线视频观看 | 久久网站免费 | 国产精品视频亚洲 | 成人毛片视频在线观看 | 亚洲国产成人一区二区 | 欧美亚洲国产成人 | 日日操夜夜操视频 | www.com黄| 日本va在线观看 | 99精品在线观看 | 欧美精品成人一区二区三区四区 | 精品一区二区三区免费 | 在线免费观看精品 | 亚洲精品7777xxxx青睐 | 欧美一级电影在线观看 | 日韩精品羞羞答答 | 91午夜视频 | 激情亚洲一区二区 | 五月j香国内婷婷 | 黄色的视频在线观看 | 国产成人视屏 | 激情夜色| 精品国产91久久久久久久妲己 | 媚药按摩痉挛w中文字幕 | 视频一区二区三区中文字幕 | 中国av免费观看 | 九九热这里只有精品8 | 视频精品二区 | 国产99视频在线观看 | 亚洲第五色综合网 | 成年人黄色免费网站 | 中国黄色一级生活片 | 黄色小视频免费在线观看 | 免费观看一区 | 欧美一级aa免费毛片 | 国产成人在线播放视频 | 天天草天天干天天射 | 黄网站在线播放视频免费观看 | 最新av免费网址 |