https协议下的打印空白问题
问题描述
用户在服务器端访问报表进行打印正常。但若在客户端访问报表,打印的时候弹出的预览界面是一片空白。基本推断是https协议的某些安全设置会导致客户端在打印报表的时候,访问不到报表以及报表中的数据。因此可以先检查客户端的report1_print()的js方法中的location和服务器本地的有什么区别,是否有https。
在客户端打印报表时,报表服务器器报错信息如下:
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.runqian.report4.view.applet.PrintReport.init(PrintReport.java:82)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
经检查客户端请求打印的访问路径,仍然使用的是http协议。而客户服务器是https 的访问协议。因此二者不符。
解决方案
修改请求的路径为https即可。