① java web 怎么实现新订单提醒
一般来说推送都会尝试去维持一个类似消息中心的角色 订单服务通过某种机制通知消息中心 由消息中心统一调度生成消息 这个阶段有很多办法 消息队列是其中之一 如果系统比较小甚至消息中心和订单都是一个系统 直接调用或者使用以下观察者模式就可以搞定 第二个阶段是常规的开发都是由前台发起请求后台响应 现在要反转过来 后台维持连接 最简单的就是ajax轮询 如果这个功能不是核心的话可以试试WebSocket 而如果后台是SpringMVC的话可以自然集成Sockjs进来 而对于大部分系统来说比较理想的设计就是消息中间件解耦订单和消息中心 消息中心通过WebSocket来推送消息 此时消息中心是一个单独的服务 就算炸了也不会影响主系统
② Java Web 服务器的消息推送 几种方案
1、轮询
前端使用ajax不停的发起请求获取想要的数据(最简单也是最容易耗尽服务器资源)
2、长连接
Websocket
使用Websocket进行消息推送
3、DWR
③ java web 项目 -- 如何在服务器端主动发送信息到客户端浏览器页面,并在调用右下角弹出框中提示该信息。
关于请求,都是按照,客户端->服务器,然后服务器在响应客服端。服务器不会主动给客服端发请求。
对于你的想要的效果,如果是类似于即时通讯,你可以选择 服务器推送 技术,让服务器主动给客服端发送消息。 如果是用于邮件的更新,可以试试,轮循的方法,就是客服端设置自动刷新,隔一定的时间主动的去访问服务器。
然后在你的页面,使用动态效果,去显示提示,比如。设置一个div ,初始为hidden,设置position(具体哪个值,我忘了,你都找来试试嘛),然后,在写个方法,当服务器发来消息为你想要的时候,在设置div显示
④ java实现提醒功能
实现提醒功能给你思路吧。
你可以写单独写个线程监视是否有消息传回,然后刷新页面。至于怎么刷新页面其实很简单,写一个事件接口。然后UI页面实现这个接口。有消息传回的时候就刷新页面。
至于系统托盘我给你一个我无聊写的倒计时程序片段,其中有系统托盘。
/**
* 设置系统托盘图标及快捷菜单
*/
private void setIcon(){
addWindowStateListener(new WindowStateListener() {
public void windowStateChanged(WindowEvent e) {
if (getState() == 1) {
setVisible(false);
}
}
});
if (SystemTray.isSupported()) {
tray = SystemTray.getSystemTray();
}
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("china.gif"));
ActionListener defaultListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (e.getActionCommand().equals( "exit")) {
exit();
}
} catch (Exception ex) {
System.out.println("hehehe"+ex.getMessage());
}
}
};
ActionListener openListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (e.getActionCommand().equals("display")) {
setVisible(true);
}
} catch (Exception ex) {
System.out.println("haha"+ex.getMessage());
}
}
};
popup = new PopupMenu();
// 创建[显示]菜单及其事件
MenuItem openItem = new MenuItem("显示");
openItem.addActionListener(openListener);
openItem.setActionCommand("display");
popup.add(openItem);
// 创建[退出]菜单及其事件
MenuItem defaultItem = new MenuItem("退出");
defaultItem.addActionListener(defaultListener);
defaultItem.setActionCommand("exit");
popup.add(defaultItem);
// 右键图标
trayIcon = new TrayIcon(image, "Java倒计时", popup);
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(defaultListener);
trayIcon.addMouseListener(new MouseAdapter() {
@SuppressWarnings("static-access")
public void mouseClicked(MouseEvent e) {
// 点击系统托盘图标和鼠标左键
if (e.getSource() == trayIcon && e.getButton() == e.BUTTON1) {
if (e.getClickCount() == 2)// 双击
{
setVisible(true);
}
}
}
});
try {
tray.add(trayIcon);
} catch (AWTException e1) {
//e1.printStackTrace();
System.out.println("heihei"+e1.getMessage());
}
}
⑤ java web 怎么实现在线消息提示功能
有三种方式。
js定时到服务器拉取消息
js与服务器建立长连接,实现假推送
使用webSocket,实现真正的服务器消息推送
⑥ Java web 服务端消息推送用什么比较好
Java web 服务端消息推送用极光推送就不错,效率很高。极光推送搭建起一个高度稳定、可扩展的云端架构,极大地帮助移动应用开发者节约开发和维护的成本,轻松实现毫秒级的精准推送。⑦ java消息推送,一个实时数据的web显示该怎么做
javaweb消息实时推送可以使用GoEasy平台。
操作如下:
到官网上注册一个账号,并创建一个应用,应用创建好后系统会默认为它生成两个key: publish key和subscribe key。
前台实时订阅及接收:需要引入goeasy.js,然后调用goeasy的subscribe方法订阅一个channel即可,订阅时无论是用publish key还是subscribe key都可以。通过subscribe的参数 onMessage的回调函数可以实时接收到消息。
前台实时推送:需要引入goeasy.js(如果该页面已经引入了可不在引入),然后调用goeasy的publish方法向已订阅的channel上推送消息即可,推送时只能用publish key。
后台实时推送:调用GoEasy Restful API, 用post方式访问http://goeasy.io/goeasy/publish, 同时还需要带上三个必要参数:
appkey: publish key
channel: 你订阅了的channel
content: 推送内容
GoEasy的实现原理很简单,就是推送消息的一端只负责推送,而需要接收的页面需要预先订阅。订阅什么呢?订阅channel。往 某个channel上推送消息,客户端就订阅相同的channel,这样就可以确保准确接收。通过channel我们可以自己指定哪些页面或哪些用户可以 接收到从这个channel上推送出来的消息。
⑧ java 怎么实现消息提醒功能
首先数据库要一张消息表,记录消息体信息。包括消息主题、用户id、时间、发出页面、消息状态。
主体实现主要是用js控制,我们用的dwr技术,将消息体的获取,时间控制及当前时间要显示的消息个数,都写到dwr配置的类中。
接着在消息js中通过dwr生成的js名称调用上述的方法获取消息信息,将数据封装到js中,在需要使用消息的页面只需要导入消息js、dwr的js就可以使用了。