日期:2014-05-18  浏览次数:20630 次

加入windows的服务后的奇怪问题.
测试环境:windowsxp+resin3.0.22+jdk1.4
测试页面(a.jsp):
<%@   page   contentType= "text/html;charset=GBK "   %>
<%@page   import= "java.awt.Rectangle,java.awt.image.BufferedImage,java.io.File,javax.imageio.ImageIO,java.awt.Toolkit,java.awt.Robot "   %>  

<%
    try   {  
    //拷贝屏幕到一个BufferedImage对象screenshot  
        BufferedImage   screenshot   =   (new   Robot()).createScreenCapture(new   Rectangle(0,   0,   1024,   768));  
        File   f   =   new   File( "d:/temp.jpg ");  
    //将screenshot对象写入图像文件  
        ImageIO.write(screenshot, "jpg ",   f);  
    }  
    catch   (Exception   ex)   {  
        System.out.println(ex);  
    }  
%>
问题:当直接点击   resin目录下的httpd.exe运行时,程序能够正常把当前屏幕copy生成图片temp.jpg
但是当把resin加入windows的服务后,生成的temp.jpg图片内容就是一块黑色背景.
请问加入windows的服务后,为什么会有这个问题?两者有什么区别吗?

------解决方案--------------------
没遇到过,帮忙顶。
是不是又启动了其它服务?
------解决方案--------------------
我试了两台机器都有这个问题
------解决方案--------------------
有什么属性没有设置?

------解决方案--------------------
我试了下tomcat下也有这个问题。即tomcat如果在服务中启动的话,生成的图片也是一块黑色。如果不在服务中启动,生成的图片就是正常的。

craig_wolfdon()
有什么属性没有设置?
---------------
答:resin安装为windows的服务只用了最简单的:httpd -install .没有设置其它属性。


各位如果有兴趣,把这个简单的jsp运行下就能看到这个问题了。谢谢!
------解决方案--------------------
help
------解决方案--------------------
up~
------解决方案--------------------
帮顶
------解决方案--------------------
呵呵,在我的机子上TOMCAT中打开网页活死都是黑的,但是。。。。直接运行JAVA文件是可以抓到的,火大,这说明JAVA环境是好的,应该是TOMCAT的问题或IE的问题,暂时还没找到具体的原因,下面这个是JAVA文件
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

/*******************************************************************
* 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的 "拍照 "
*****************************************************/

public class GuiCamera
{
private String fileName; //文件的前缀
private String defaultName = "GuiCamera ";
static int serialNum=0;
private String imageFormat; //图像文件的格式
private String defaultImageFormat= "png ";
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

/****************************************************************
* 默认的文件前缀为GuiCamera,文件格式为PNG格式
****************************************************************/
public GuiCamera() {
fileName = defaultName;
imageFormat=defaultImageFormat;

}

/****************************************************************
* 本构造支持JPG和PNG文件的存储
****************************************************************/
public GuiCamera(String s,String format) {