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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - JAVA教程 - Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析三之后端反向調(diào)用前端

Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析三之后端反向調(diào)用前端

2020-04-21 11:37wulei JAVA教程

Dwr是為人所熟知的前端框架,其異步推送功能是為人所津津樂道的,下來主要研究一下它的這個(gè)功能是怎么應(yīng)用的;

在前兩篇中我們已經(jīng)介紹了Dwr零配置文化化和前端調(diào)用后端的方法,想必大家應(yīng)該已經(jīng)會(huì)熟練掌握了,下來我們主要探討一下后端怎么反向調(diào)用前端的js方法;

就如前兩篇說到了用Dwr注冊(cè)了兩個(gè)Service組件,一個(gè)是remote,另外一個(gè)是頁面使用到的controller,這個(gè)remote是在頁面一加載進(jìn)來就會(huì)被調(diào)用的,這樣就使得會(huì)話和頁面ScriptSession建立了綁定的關(guān)系,方便我們后面使用它的scriptSessionId進(jìn)行頁面定向推送;

下面是建立會(huì)話和頁面ScriptSession的方法(頁面剛加載進(jìn)來的時(shí)候就會(huì)被調(diào)用的):  

?
1
2
3
4
5
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);
?
1
下面是用來反向調(diào)用前端的Service方法:<br>
?
1
2
3
4
5
6
7
8
9
@Service("dwrReverseAjaxService")
public class DwrReverseAjaxService {
private static final Logger LOGGER = LoggerFactory.getLogger(DwrReverseAjaxService.class);
public void directWebRemotingWithSession(HttpSession session, final String functionName)
{Assert.notNull(session, "[Dwr Reverse Ajax] Session can not be null!");
final String scriptSessionId = ConstantCacheService.getCacheConstantValue(Constants.PUSH_ID + session.getId());
LOGGER.info("[DWR Session ID] = " + scriptSessionId + " [Script Function Name] = " + functionName);Browser.withSession(scriptSessionId, new Runnable() {
public void run() {ScriptSessions.addFunctionCall(functionName, "");
}});}}

這個(gè)Service是利用了scriptSessionId來進(jìn)行反向定位推送的,而這個(gè)scriptSessionId是利用我們之前頁面剛加載進(jìn)來就建立好保存到的一個(gè)全局的Map對(duì)里面;

下來只要在你想要什么時(shí)候調(diào)用的時(shí)候使用注冊(cè)的這個(gè)Service bean就可以了,傳進(jìn)去的參數(shù)為HttpSession和你想調(diào)用的前端Js funciton name,同時(shí)注意一下當(dāng)前頁面存在這個(gè)Js function,而且一般是主頁面的Js里面的方法才能被訪問到,否則前端會(huì)提示該方法未定義的錯(cuò)誤;

以上就是關(guān)于Dwr的簡單應(yīng)用,純屬第一次用,有什么不對(duì)的地方,請(qǐng)大家指正出來,感激不盡啊!大神請(qǐng)飄過~~~~~;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内精品久久久久久2021浪潮 | 精品国产一区二区亚洲人成毛片 | 999久久国产 | 91九色免费视频 | 国产一级在线免费观看 | 国产精品一区二区三区在线播放 | 激情九九| 在线看成人av | 日本在线观看高清完整版 | 亚洲精品一区二区三区在线看 | 亚洲精品无码不卡在线播放he | 久久艹艹艹 | 国产青青 | 少妇一级淫片免费放播放 | 91av在线免费播放 | 成人超碰| 美国黄色小视频 | 成人在线网站 | 国产精品久久久久久久久久东京 | 性片免费看 | 久久综合婷婷 | 91九色免费视频 | 国产精品久久久久一区二区 | 成人免费观看49www在线观看 | 欧美一级爱操视频 | 欧美黄一区 | 91美女视频在线观看 | 中文字幕亚洲一区二区三区 | 欧美毛片免费观看 | 久久久久久久久日本理论电影 | 国产一区二区三区视频免费 | 黄色一级电影网 | 色妞欧美| 国产精品一区二区三区在线播放 | xp123精品视频 | 98色视频 | 色中色激情影院 | 在线成人免费av | 91伊人久久 | 在线免费av观看 | 99精品视频在线观看免费 |