`

纯JSP生成下载内容

 
阅读更多

String fileDownloadPath =

        AAAResourceReader.in.getSafeString

("ReportQueue.queue.FUND_SELECTION_REPORT.REQUEST_URL");

 

        PrintInfo printInfo =

                (PrintInfo) session.getAttribute(RRRRWebKeys.RRRR_PRINT_INFO_WRAPPER);

        session.setAttribute(RRRRWebKeys.RRRR_PRINT_INFO_WRAPPER, null);

 

        String username = printInfo.username;

        String password = printInfo.password;

        String token = printInfo.token;

        String queueCategory = printInfo.queueCategory;

 

        URL url = new URL(fileDownloadPath);

        URLConnection connection = url.openConnection();

        connection.setDoOutput(true);

        // 131018 - START

        connection.setRequestProperty("accept-charset", "UTF-8");

        connection.setRequestProperty("content-type", "application/x-www-form-urlencoded; charset=utf-8");

inputXmlEnRequest = FieldUtil.encodeBytesMS950(inputXmlEnRequest); 

        inputXmlEnRequest = URLEncoder.encode(inputXmlEnRequest,"UTF-8"); 

        inputXmlZhRequest = FieldUtil.encodeBytesMS950(inputXmlZhRequest); 

        inputXmlZhRequest = URLEncoder.encode(inputXmlZhRequest,"UTF-8");

        // 131018 - START

        PrintWriter outStream = new PrintWriter(connection.getOutputStream());

        outStream.print("username=" + username);

        outStream.print("&password=" + password);

        outStream.print("&xml=" + inputXmlEnRequest.replaceAll("%", "%25").replaceAll("&", "%26"));

outStream.print("&zhxml=" + inputXmlZhRequest.replaceAll("%", "%25").replaceAll("&", "%26")); // 131018

        outStream.print("&source=" + PrintInfo.SOURCE_WEB);

        outStream.print("&token=" + token);

        outStream.print("&queue_category=" + queueCategory);

        outStream.print("&agent_code=" + agentCode);

        outStream.print("&report_name=" + reportName);

        outStream.close();

 

        InputStream in = connection.getInputStream();

        if (!checkIsIPad(request)) {

            response.setContentType("application");

            response.setHeader("Content-disposition", "attachment; filename=" + reportName);

        } else {

            setIpadContentType(response, "application", reportName);

        }

 

        ServletOutputStream ostream = response.getOutputStream();

 

        //response.setContentLength(in.available());

        copyFile(in, ostream);

        response.flushBuffer();

        Logger.logStat(Logger.endAction(session.getId()) + request.getParameter("action"));

 

    } catch (Exception e) {

        // *** if the username and password is invalid or any other exception throw in file server. ***

        Logger.logError("RRRR_aw223_fund_selection_report_print.jsp: " + e.getCause());

        response.setContentType("text/plain");

        if (!checkIsIPad(request)) {

            response.setHeader("Content-disposition", "attachment; filename=Error.txt");

        }

        out.print("The file server is temporarily unavailable, please try again later.");

    }

-------------

public static void copyFile(InputStream in, OutputStream out) throws IOException {

        try {

            byte[] buf = new byte[4096];

            int i = 0;

            while ((i = in.read(buf)) != -1) {

                out.write(buf, 0, i);

            }

        } catch (IOException e) {

            Logger.logError("RRRR_aw223_fund_selection_report_print.jsp: " + e.getCause());

            throw e;

        } finally {

            try {

                in.close();

                out.flush();

                out.close();

            } catch (IOException e) {

                Logger.logError("RRRR_aw223_fund_selection_report_print.jsp: " + e.getCause());

            }

        }

    }

_______________________________________

public String handle(HttpServletRequest req, String actionRequest, String previousPage

            , ExceptionInfoHolder holder) {

        try{

 

            StringBuffer sb = new StringBuffer();

            HttpSession session = req.getSession();

 

            ppppppppEditView ppppppppEditView = (ppppppppEditView) session.getAttribute(

                ppppppppWebKeys.pppppppp_EDIT_VIEW);

            AgentView agentView = (AgentView) session.getAttribute(AimWebKeys.AIM_AGENT_VIEW);

            IndppppppppHK ip = ppppppppEditView.getIndppppppppHK();

        

            if (ppppppppPrintServer.ppppppppEmailPath == null) {

                ppppppppPrintServer.ppppppppEmailPath = aaaResourceReader.in.getSafeString("ppppppppEmail.path");

                

            }

            

            String urlString = ppppppppPrintServer.ppppppppEmailPath;

            

            Integer queueStatus = (Integer) session.getAttribute(ppppppppWebKeys.pppppppp_PRINT_QUEUE_STATUS);

            Logger.logAppDebug("queueStatus:[" + queueStatus + "]");

            if (queueStatus != null && queueStatus.intValue() == PrintppppppppQueue.PRINT_NOW) {

                GenericResourceReader printQueueResourceReader = new GenericResourceReader("aaappppppppPrintQueue_en_HK");

                urlString = printQueueResourceReader.getSafeString("pppppppp_PRINT_QUEUE_NOW_URL");

            }

 

            URL url = new URL(urlString);

            URLConnection connection = url.openConnection();

            connection.setDoOutput(true);

                

            PrintInfoWrapper pw =  (PrintInfoWrapper)session.getAttribute(ppppppppWebKeys.pppppppp_PRINT_INFO_WRAPPER);

            session.setAttribute(ppppppppWebKeys.pppppppp_PRINT_INFO_WRAPPER, null);

                

            String username = pw.username;

            String password = pw.password;

            String actionType = pw.actionType;

            String queueCategory = pw.queueCategory;

            String from = pw.from;

            String to = pw.to;

            String subject = pw.subject;

            String message = pw.message;

            //String xml = URLEncoder.encode(pw.xml);

            //String propNr = pw.propNo;

            String propNr = ip.getppppppppNoStr();

            String agentCode = pw.agentCode;

            String basicPlanCode = pw.basicPlanCode;

            String pcid = pw.pcid;

            String productAlias = pw.productAlias;

            String printLangPeCode = pw.printLangPeCode;

            String branchCode = pw.branchCode;

            String location = pw.location;

            String token = pw.token;

            String propRefNo = pw.propRefNo;

 

            // *** change big5 to ISO ***

            //xml = (xml==null)?"":new String(xml.getBytes("BIG5"), "ISO8859_1") ;

            String xml = FieldUtil.encodeBytesMS950HKCS(pw.xml);  // 20111017

            xml = URLEncoder.encode(xml); 

 

            PrintWriter outStream = new PrintWriter(

                                      connection.getOutputStream());

 

            outStream.print("username=" + username);

            outStream.print("&password=" + password); 

 

            outStream.print("&source=" + PrintInfoWrapper.SOURCE_WEB);

            outStream.print("&action_type=" + PrintInfoWrapper.EMAIL);

            outStream.print("&token=" + token);

            outStream.print("&queue_category=" + queueCategory);

 

            outStream.print("&with_print=" + "Y");

            outStream.print("&from=" + from);

            outStream.print("&to=" + to);

            outStream.print("&subject=" + subject);

            outStream.print("&message=" + message);

            outStream.print("&xml=" + xml);

            outStream.print("&prop_no=" + propNr);

            outStream.print("&agent_code=" + agentCode);

            outStream.print("&basic_plan_code=" + basicPlanCode);

            outStream.print("&pcid=" + pcid);

            outStream.print("&product_alias=" + productAlias);

            outStream.print("&print_lang_pe_code=" + printLangPeCode);

            outStream.print("&branch_code=" + branchCode);

            outStream.print("&location=" + location);

            outStream.print("&prop_ref_no=" + propRefNo);

 

sb.append(urlString);

sb.append("username=" + username);

sb.append("&password=" + password); 

sb.append("&source=" + PrintInfoWrapper.SOURCE_WEB);

sb.append("&action_type=" + PrintInfoWrapper.EMAIL);

sb.append("&token=" + token);

sb.append("&queue_category=" + queueCategory);

sb.append("&with_print=" + "Y");

sb.append("&from=" + from);

sb.append("&to=" + to);

sb.append("&subject=" + subject);

sb.append("&message=" + message);

sb.append("&xml=" + xml);

sb.append("&prop_no=" + propNr);

sb.append("&agent_code=" + agentCode);

sb.append("&basic_plan_code=" + basicPlanCode);

sb.append("&pcid=" + pcid);

sb.append("&product_alias=" + productAlias);

sb.append("&print_lang_pe_code=" + printLangPeCode);

sb.append("&branch_code=" + branchCode);

sb.append("&location=" + location);

sb.append("&prop_ref_no=" + propRefNo);

            

            outStream.close();

            

Logger.logAppDebug(this, "Email URL: " + sb.toString());

                

                

            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

            String inputLine;

            boolean alive = false;

                

            while((inputLine = in.readLine()) != null) {

                if (inputLine.indexOf("OK") > -1) {

                    alive = true;

                }

            }

            

            if (alive){

                holder.add("E45354"); // success message

 

                if ("Y".equalsIgnoreCase(req.getParameter(ppppppppPrintOptionPage.SENT_SMS))){

                    ppppppppPrintOptionPage ppppppppPrintOptionPage = (ppppppppPrintOptionPage) session.getAttribute(

                            ppppppppWebKeys.pppppppp_PRINT_OPTION_PAGE);

                    ppppppppPrintOptionPage.values.put(ppppppppPrintOptionPage.SENT_EMAIL_OK, "Y");

                }

 

            } else {

                holder.add("E45353"); // Fail message

            }

        } catch (Exception e){

            Logger.logAppDebug(this,"Exception for sending email: " + e.toString());

            holder.add("E45353");

 

        }

                        

        return previousPage;

}

分享到:
评论

相关推荐

    jq生成二维码并将其作为图片下载到本地

    纯前端生成二维码(并将Html转换成图片) 下载到本地,需要用到的四个JS文件 jquery.qrcode.min.js html2canvas.min.js canvas2image.js base64.js

    使用freemarker把jsp生成html页面

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序  虽然FreeMarker具有一些编程的能力,但通常由Java程序...

    java jsp ,html 生成网站,多个网站

    java 和jsp 生成的网站,纯html型的网站模板,有数据库可以用,解压后,java 的直接可以通过tomact跑,html的可以直接用,

    jsp+servlet实现书城5

    视频格式是exe的,这个使用的是屏幕录像专家录像生成...本案例使用jsp+servlet+mysql实现图书商城,适合初学者使用,本教程一共分为六个视频完成所有的功能操作,大家需要下载六个视频,这个六个视频是完整的贯穿案例。

    JSP简洁论坛生成HTML V1.0

    内容索引:JSP源码,论坛社区,JSP论坛程序 JSP简洁论坛生成HTML 是本人学习JSP的一个练习,界面简洁大方,速度极快,对百度和GOOGLE等搜索引擎友好,实现了大部分论坛功能,使用TOMCAT5.0+JDK1.4+SqlServer2000数据库...

    Telerik kendo ui for JSP Demo

    因为JSP标签库,最终编译后还是生成了js的代码,有利于调试kendo ui的纯js页面。另外嘛,如果要求不高,可以直接使用JSP的标签tag,那样用起来更省事。 MyEclipse的工程,直接编译,配置个tomcat7,JDK7,可以运行了...

    一个完整JSP留言本系统Jbook源码.rar

    一个完整的纯JSP留言本系统Jbook源码,在tomcat6.0、7.0下均测试成功,请注意服务器的正确配置。采用纯粹的jsp页面实现,不涉及任何第三方类库、框架、组件,未使用javabean,没有引入jdk之外的其他类,界面原始、...

    韩顺平sevlet,jsp视频教程知识点.txt

    视频描述: (一) 用户登录系统框架改进 1.0 model1(纯jsp)开发模式的反思 1.1 model1(结合java class)开发模式 (二) 用户登录系统框架再改进 2.1 mvc开发模式 韩顺平 j2ee视频实战教程jsp第3讲(下集).wmv 视频描述: ...

    Servlet与JSP核心编程第2版

    3.2 生成纯文本的servlet 3.3 生成html的servlet 3.4 servlet的打包 3.5 简单的html构建工具 3.6 servlet的生命周期 3.7 singlethreadmodel接口 3.8 servlet的调试 第4章 客户请求的处理:表单数据 ...

    jsp+sql书店(纯lw).zip

    而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求...

    jsp网站源码(全站源码,有视频安装教程)

    JSPGenCMS内容管理系统是一款基于JSPGen3.0框架所开发的内容管理系统,集成了内容(审核)管理、节点管理、专题管理、推荐位管理、广告管理、调查问卷、网上留言、静态生成、内容检索等多项强大功能,采用模型-视图-...

    纯js带二维码的qq在线客服悬浮代码

    这是一款纯js qq在线客服悬浮代码。该qq在线客服会一直悬浮在页面的右侧,跟随页面一起滚动。并且该qq在线客服带有二维码,兼容ie8浏览器,非常实用。

    二维码生成

    纯js二维码生成 需要导入3个js 文件 并修改文件路径,将txt中代码复制到jsp或html中

    uexScanner.jsp

    H5使用AppCan 生成app,调用手机摄像头识别二维码功能,纯页面js

    Java开发HY增删改查代码生成工具系统源码.zip

    html页面(默认 可扩展为jsp,vue组件,纯html或其他视图文件) js脚本 Controller.java后端控制层 Service.java 后端服务层 Mapper.java 后端dao层 mapper.xml 后端dao层xml model.java模型文件 使用技术如下: ...

    freemaker生成模板例子

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序  虽然FreeMarker具有一些编程的能力,但通常由Java程序...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

     本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

     本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

     本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

     本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言...

Global site tag (gtag.js) - Google Analytics