首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法启动图形环境类+ ServletException

无法启动图形环境类+ ServletException
EN

Stack Overflow用户
提问于 2014-12-17 15:36:25
回答 1查看 66关注 0票数 0

当在Tomcat 7上的固定IP应用服务器上部署我的.war文件时,一切都正常工作,直到初始化了下面的类。服务器不能检测到客户端浏览器的分辨率,或者仅仅是一个简单的原因?

代码语言:javascript
复制
@SessionScoped
@ManagedBean(name = "Resolution")
public class Resolution implements Serializable {

    private static final long serialVersionUID = -3843115933315030209L;
    GraphicsDevice gd;

    double screenWidth;
    double screenHeight;

    {
        gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        setScreenWidth(gd.getDisplayMode().getWidth() * .85);
        setScreenHeight(gd.getDisplayMode().getHeight() * .85);
        System.out.println(screenHeight);
        System.out.println(screenWidth);
    }
}

除引发的例外情况外:

代码语言:javascript
复制
javax.servlet.ServletException: Klasse de.kp.screen.Resolution kann nicht instanziiert werden.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 15:49:01

不是的。servlet在服务器机器上运行,浏览器在客户端机器上运行。它们是两台独立的计算机。

浏览器通过HTTP连接发送请求与servlet通信,然后servlet可以通过发回HTML或其他数据来响应这些请求。

要检测窗口大小,您需要向包含Javascript代码的用户显示HTML。Javascript在浏览器内部的客户端机器上运行。然后,Javascript代码可以用它需要的信息调用您的服务器。

要更改窗口大小,还需要使用将在客户端运行的Javascript。

所有Java组件都用于直接在用户桌面(或Android小工具)上运行的程序。它们通常不能在服务器机器中使用,因为服务器并不总是具有图形用户界面(您可以通过文本控制台连接到它)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27529207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档