您的位置:首页 > 编程语言 > Java开发

Java Robot对象实现服务器屏幕远程监视

2006-03-01 18:06 701 查看
远程服务屏幕的监视

  在上述代码的基础上,我们稍加改造,封装成一个Servlet,便可以实现浏览器/服务器(B/S)计算结构 模式的小应用。客户端浏览器访问服务器上的Servlet时候,服务器拷贝服务器屏幕,并按照contentType="Image/Jpeg"文件相应格式,将拷贝的数据按照二进制数据流的方式返回客户端,客户端使用浏览器便可以查看远程服务器的屏幕,从而实现服务器屏幕的远程监视。

http://www.dotrade.cn

  主要代码如下:

package li;

import javax.imageio.ImageIO;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.Dimension;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class SnapShot
extends HttpServlet
implements SingleThreadModel {
private static final String CONTENT_TYPE = "image/jpeg";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
//设置客户端的文件相应类型
response.setContentType(CONTENT_TYPE);

//获取屏幕的分辨率
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
try {

{BufferedImage screenshot = (new Robot()).createScreenCapture(new
Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));
String imageFormat = "jpg";

ServletOutputStream sos = response.getOutputStream();
//将图像数据流写入客户端
ImageIO.write(screenshot, imageFormat, sos);
sos.close();
response.flushBuffer();
}
}
catch (Exception ex) {
}

}

//Clean up resources
public void destroy() {
}
}
http://www.dotrade.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 职场 服务器