问题描述
/***转换PDF功能*@throwsException*@throwsDocumentException*/@SuppressWarnings("unchecked")publicvoidprint()throwsException,DocumentException{//获取packageId并保存至sessionStringpackageId=Struts2Util.getRequest().getParameter("packageId");Struts2Util.getSession().setAttribute("packageId",packageId);//covertpdfHttpURLConnectioncon=null;URLurl=null;try{Stringsessionid=Struts2Util.getRequest().getSession().getId();url=newURL("http://127.0.0.1:8080/scm/shipments!viewPackingSlip.action");//url=newURL("http://10.168.2.182:8080/scm/shipments!viewPackingSlip.action");con=(HttpURLConnection)url.openConnection();con.setRequestProperty("Cookie","JSESSIONID="+sessionid);con.connect();intsize=0;byte[]buf=newbyte[1024];BufferedInputStreambis=newBufferedInputStream(con.getInputStream());StringBuffersb=newStringBuffer();while((size=bis.read(buf))!=-1){sb.append(newString(buf,0,size));}System.out.println(sb.toString());bis.close();con.disconnect();HttpServletResponseresponse=Struts2Util.getResponse();response.setContentType("APPLICATION/DOWNLOAD");response.setHeader("Content-Disposition","attachment;filename="+"PackingSlip.pdf");//PackingSlip是文件名java.io.OutputStreamos=response.getOutputStream();ListheaderFooterList=newArrayList();Mapproperties=newHashMap();CYaHPConverterconverter=newCYaHPConverter();Stringss="http://127.0.0.1:8080/scm/stylesheet/";//Stringss="http://10.168.2.182:8080/scm/stylesheet/";converter.convertToPdf(sb.toString(),IHtmlToPdfTransformer.A4P,headerFooterList,ss,os,properties);System.out.print("ConverterSuccess!");os.flush();os.close();response.flushBuffer();}catch(IOExceptione){}}
解决方案
解决方案二:
出什么问题了?
解决方案三:
在tomcat下正常在jboss下页面报:Firefox无法找到我的这个print.action汗!!~~~后台报错:HTTPStatus500-Unabletoshowproblemreport:java.lang.IllegalStateException
解决方案四:
应用起来没?把详细的错误信息发出来看下
解决方案五:
HTTPStatus500-Unabletoshowproblemreport:java.lang.IllegalStateException呵呵,不兼容,详细分析下具体的问题,才能找到解决办法,楼主发个错误,也这么吝啬!
解决方案六:
错误信息:17:14:25,093ERROR[STDERR]java.net.ConnectException:Connectionrefused:connect17:14:25,093ERROR[STDERR]atjava.net.PlainSocketImpl.socketConnect(NativeMethod)17:14:25,093ERROR[STDERR]atjava.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)17:14:25,093ERROR[STDERR]atjava.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)17:14:25,093ERROR[STDERR]atjava.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)17:14:25,093ERROR[STDERR]atjava.net.Socket.connect(Socket.java:519)17:14:25,093ERROR[STDERR]atjava.net.Socket.connect(Socket.java:469)17:14:25,093ERROR[STDERR]atsun.net.NetworkClient.doConnect(NetworkClient.java:157)17:14:25,093ERROR[STDERR]atsun.net.www.http.HttpClient.openServer(HttpClient.java:394)17:14:25,093ERROR[STDERR]atsun.net.www.http.HttpClient.openServer(HttpClient.java:529)17:14:25,093ERROR[STDERR]atsun.net.www.http.HttpClient.<init>(HttpClient.java:233)17:14:25,093ERROR[STDERR]atsun.net.www.http.HttpClient.New(HttpClient.java:306)17:14:25,093ERROR[STDERR]atsun.net.www.http.HttpClient.New(HttpClient.java:323)17:14:25,093ERROR[STDERR]atsun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:788)
解决方案七:
呵呵不好意思一直在忙都忘记发了各位继续研究
解决方案八:
连接拒绝试试这个:在jboss4.2及以后的版本中,默认情况下jboss只接收来自localhost或127.0.0.1的请求,也就是只接收本地的访问。为了使jboss接收来自其他地址的请求,在启动jboss时需要使用-b命令行参数进行设置。如下面的启动命令所示:run.bat-b200.200.200.123run.bat-b0.0.0.0 上面的第一行命令表示jboss可以接收来自200.200.200.123的请求。第二条命令表示jboss可以接收来自任意地址的请求。如果不设置-b参数,以非本机方式访问EJB时,JBoss会抛出上面异常。
解决方案九:
服务器是linux平台的分配的一个虚拟机地址10.168.2.182我们一直都是采用run.bat-b0.0.0.0这种方式启动的
解决方案十:
---本地jbossFirefox无法在http://127.0.0.1:8080/scm/shipments!print.action?packageId=3277找到该文件。--服务器jbossFirefox无法在http://10.168.2.182:8080/scm/shipments!print.action?packageId=3277找到该文件。提示找不到print.action,可是在jboss的运行后台却执行了print()方法中的内容很是怪异难道tomcat和jboss的运行机制不同,这个程序再tomcat下跑的是正常的,可以正常下载和在线打开pdf