/**
* 转换PDF功能
* @throws Exception
* @throws DocumentException
*/
@SuppressWarnings("unchecked")
public void print() throws Exception,DocumentException {
// 获取packageId 并保存至session
String packageId = Struts2Util.getRequest().getParameter("packageId");
Struts2Util.getSession().setAttribute("packageId", packageId);
// covert pdf
HttpURLConnection con = null;
URL url = null;
try
{
String sessionid = Struts2Util.getRequest().getSession().getId();
url = new URL("http://127.0.0.1:8080/scm/shipments!viewPackingSlip.action");
//url = new URL("http://10.168.2.182:8080/scm/shipments!viewPackingSlip.action");
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Cookie","JSESSIONID="+sessionid); con.connect();
int size = 0;
byte[] buf = new byte[1024]; BufferedInputStream bis = new BufferedInputStream(con.getInputStream());
StringBuffer sb = new StringBuffer();
while ((size = bis.read(buf)) != -1)
{
sb.append(new String(buf, 0, size));
}
System.out.println(sb.toString());
bis.close();
con.disconnect();
HttpServletResponse response = Struts2Util.getResponse();
response.setContentType("APPLICATION/DOWNLOAD");
response.setHeader("Content-Disposition", "attachment; filename="+ "PackingSlip.pdf");// PackingSlip是文件名
java.io.OutputStream os = response.getOutputStream();
List headerFooterList = new ArrayList();
Map properties = new HashMap();
CYaHPConverter converter = new CYaHPConverter();
String ss = "http://127.0.0.1:8080/scm/stylesheet/";
//String ss = "http://10.168.2.182:8080/scm/stylesheet/";
converter.convertToPdf(sb.toString(), IHtmlToPdfTransformer.A4P,headerFooterList, ss, os, properties);
System.out.print("Converter Success!");
os.flush();
os.close();
response.flushBuffer(); }catch (IOException e)
{ }
}
* 转换PDF功能
* @throws Exception
* @throws DocumentException
*/
@SuppressWarnings("unchecked")
public void print() throws Exception,DocumentException {
// 获取packageId 并保存至session
String packageId = Struts2Util.getRequest().getParameter("packageId");
Struts2Util.getSession().setAttribute("packageId", packageId);
// covert pdf
HttpURLConnection con = null;
URL url = null;
try
{
String sessionid = Struts2Util.getRequest().getSession().getId();
url = new URL("http://127.0.0.1:8080/scm/shipments!viewPackingSlip.action");
//url = new URL("http://10.168.2.182:8080/scm/shipments!viewPackingSlip.action");
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Cookie","JSESSIONID="+sessionid); con.connect();
int size = 0;
byte[] buf = new byte[1024]; BufferedInputStream bis = new BufferedInputStream(con.getInputStream());
StringBuffer sb = new StringBuffer();
while ((size = bis.read(buf)) != -1)
{
sb.append(new String(buf, 0, size));
}
System.out.println(sb.toString());
bis.close();
con.disconnect();
HttpServletResponse response = Struts2Util.getResponse();
response.setContentType("APPLICATION/DOWNLOAD");
response.setHeader("Content-Disposition", "attachment; filename="+ "PackingSlip.pdf");// PackingSlip是文件名
java.io.OutputStream os = response.getOutputStream();
List headerFooterList = new ArrayList();
Map properties = new HashMap();
CYaHPConverter converter = new CYaHPConverter();
String ss = "http://127.0.0.1:8080/scm/stylesheet/";
//String ss = "http://10.168.2.182:8080/scm/stylesheet/";
converter.convertToPdf(sb.toString(), IHtmlToPdfTransformer.A4P,headerFooterList, ss, os, properties);
System.out.print("Converter Success!");
os.flush();
os.close();
response.flushBuffer(); }catch (IOException e)
{ }
}
在jboss下页面报 :
Firefox 无法找到我的这个print.action 汗!!~~~后台报错:
HTTP Status 500 - Unable to show problem report: java.lang.IllegalStateException
呵呵,不兼容,详细分析下具体的问题,才能找到解决办法,楼主发个错误,也这么吝啬!
ct
17:14:25,093 ERROR [STDERR] at java.net.PlainSocketImpl.socketConnect(Native
Method)
17:14:25,093 ERROR [STDERR] at java.net.PlainSocketImpl.doConnect(PlainSocke
tImpl.java:333)
17:14:25,093 ERROR [STDERR] at java.net.PlainSocketImpl.connectToAddress(Pla
inSocketImpl.java:195)
17:14:25,093 ERROR [STDERR] at java.net.PlainSocketImpl.connect(PlainSocketI
mpl.java:182)
17:14:25,093 ERROR [STDERR] at java.net.Socket.connect(Socket.java:519)
17:14:25,093 ERROR [STDERR] at java.net.Socket.connect(Socket.java:469)
17:14:25,093 ERROR [STDERR] at sun.net.NetworkClient.doConnect(NetworkClient
.java:157)
17:14:25,093 ERROR [STDERR] at sun.net.www.http.HttpClient.openServer(HttpCl
ient.java:394)
17:14:25,093 ERROR [STDERR] at sun.net.www.http.HttpClient.openServer(HttpCl
ient.java:529)
17:14:25,093 ERROR [STDERR] at sun.net.www.http.HttpClient.<init>(HttpClient
.java:233)
17:14:25,093 ERROR [STDERR] at sun.net.www.http.HttpClient.New(HttpClient.ja
va:306)
17:14:25,093 ERROR [STDERR] at sun.net.www.http.HttpClient.New(HttpClient.ja
va:323)
17:14:25,093 ERROR [STDERR] at sun.net.www.protocol.http.HttpURLConnection.g
etNewHttpClient(HttpURLConnection.java:788)
run.bat -b 0.0.0.0 上面的第一行命令表示jboss可以接收来自200.200.200.123的请求。第二条命令表示jboss可以接收来自任意地址的请求。如果不设置-b参数,以非本机方式访问EJB时,JBoss会抛出上面异常。
linux平台的分配的一个虚拟机地址10.168.2.182我们一直都是采用run.bat -b 0.0.0.0 这种方式启动的
Firefox 无法在 http://127.0.0.1:8080/scm/shipments!print.action?packageId=3277 找到该文件。--服务器 jboss
Firefox 无法在 http://10.168.2.182:8080/scm/shipments!print.action?packageId=3277 找到该文件。
提示找不到print.action,可是在jboss的运行后台却执行了print()方法中的内容
很是怪异难道tomcat和jboss的运行机制不同,这个程序再tomcat下跑的是正常的,可以正常下载和在线打开pdf