الانتقال إلى المحتوى

مشكلة فى فتح تقرير جاسبر ريبورت


series_1981

Recommended Posts

المشكلة انا عامل برنامج والمفروض انه بضغط على ايقونة  تفتح التقرير من نوع الجاسبر

بس بتظهر  الرسالة دى

Error 404--Not Found From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.4.5 404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.

If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.

غير الملف servelt 

وده فولدر بتاع  البرنامح والداتيا 

الفولدر مساره c:/

تم تعديل بواسطة series_1981
رابط هذا التعليق
شارك

  • الردود 28
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • series_1981

    16

  • sd4it

    13

أكثر المشاركين في هذا الموضوع

يعنى شيلت الملف القديم وعملت ملف جديد من الاول ......انا حملت الفولدر بتاع البرنامج  والداتيا بيز وده كان المسار بتاعه البرنامح والداتيا 

الفولدر مساره c:/....بس مش عارف ليه مش ظاهر

رابط هذا التعليق
شارك

ان الريبوت نفسه اللى انا عمله يفتح على الصفحة قدامى ..... يعنى البرنامج بستدعى تقرير عن الموظفين ..المفروض انه لم اضعط على الايقونة بتاعته يطلع شكل الريبورت على الصفحة قدامى

رابط هذا التعليق
شارك

 

ده منقول من الباشمنهندس حاتم نصار ...

وهو عبارة عن ملفين

الملف الاول اسمه reports.java

وفيه

package reports;

 

import Servlet.ReportsServlet;

 

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

 

import java.sql.Connection;

 

import javax.faces.context.FacesContext;

import javax.faces.event.ActionEvent;

 

import javax.naming.Context;

import javax.naming.InitialContext;

 

import javax.servlet.ServletContext;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletResponse;

 

import javax.sql.DataSource;

 

 

 

import net.sf.jasperreports.engine.JasperExportManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;

import net.sf.jasperreports.engine.util.JRLoader;

 

import oracle.adf.model.BindingContext;

 

import oracle.binding.BindingContainer;

 

import oracle.jbo.ViewObject;

 

import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;

import org.apache.myfaces.trinidad.util.Service;

 

import util.JSFUtils;

 

import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;

import org.apache.myfaces.trinidad.util.Service;

 

import util.ADFUtils;

 

 

public class reports {

   

 

    private String reportFormat;

    public static String userId;

    

    

            public void openUserActionsReport(ActionEvent actionEvent) {

                    

                  userId =ADFUtils.findIterator("UsersView1Iterator").getCurrentRow().getAttribute("UserId").toString(); 

                                        String surl ="/reportsservlet?reportFile=RInfoEmpAlData";

                                   surl += "&outputFormat=" + reportFormat;

                                   openDateReport(surl);

                }

                

                private void openDateReport(String repUrl) {

                       FacesContext context = JSFUtils.getFacesContext();

                       String url = JSFUtils.getServerURL() + "" + repUrl;

                       ExtendedRenderKitService erkService =

                       Service.getService(context.getRenderKit(), ExtendedRenderKitService.class);

                       erkService.addScript(context, "window.open('" + url + "','_blank')");

                   }

 

                public void setReportFormat(String reportFormat) {

                    this.reportFormat = reportFormat;

                }

 

                public String getReportFormat() {

                    return reportFormat;

                }

 

 

    public static void setUserId(String userId) {

        reports.userId = userId;

    }

 

    public static String getUserId() {

        return userId;

    }

}

 

 

 

والملف االثانى 

 

رابط هذا التعليق
شارك

 

الملف الثانى

ReportsServlet

 

وفيه 

 

package Servlet;

 

import java.io.IOException;

import java.io.InputStream;

 

import java.sql.Connection;

import java.sql.SQLException;

 

import java.util.HashMap;

import java.util.Map;

 

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import javax.sql.DataSource;

import net.sf.jasperreports.engine.JRExporterParameter;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.export.JRPdfExporter;

import net.sf.jasperreports.engine.export.ooxml.JRDocxExporter;

import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;

import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;

import net.sf.jasperreports.engine.util.JRLoader;

 

import reports.reports;

 

@WebServlet(name = "ReportsServlet", urlPatterns = { "/reportsservlet" })

public class ReportsServlet extends HttpServlet {    

    @SuppressWarnings("compatibility:-263305903787633402")

       private static final long serialVersionUID = 1L;

 

   

    public void init(ServletConfig config) throws ServletException {

        super.init(config);

    }

    

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        

        

     Object chkLoginStatus= request.getSession().getAttribute("loginStatus")==null?false:request.getSession().getAttribute("loginStatus");

            if(chkLoginStatus.equals(true)){

              String reportIs = request.getParameter("reportFile");

              if(reportIs.equals("RInfoEmpAlData")){

                    RInfoEmpAlData(request,response);

              }

            }else{

                      try {  

                          response.sendRedirect("http://"+request.getServerName()+":"+request.getServerPort()+"/faces/Login.jsf");

                      } catch (IOException e) {

                      }

                  }

        }

    

    public void RInfoEmpAlData(HttpServletRequest request, HttpServletResponse response){

            Map reportParams = new HashMap();

            try {

                

                String   checkValue=null;

               checkValue=reports.getUserId();

                if( checkValue.equalsIgnoreCase("null")){checkValue="";}

                   reportParams.put("P_userId",checkValue);

                

            } catch (NumberFormatException ex) {

                         ex.printStackTrace();

                     }

            openReport(reportParams, request, response);

        }

    

    private void openReport(Map params, HttpServletRequest request, HttpServletResponse response) {        

        Connection conn = getConnection();

        if (conn == null) {

            return;

        }

        String reportFile = request.getParameter("reportFile");

        String reportOutputFormat = request.getParameter("outputFormat");

        if (reportOutputFormat == null)

            reportOutputFormat = "pdf";

        if (reportOutputFormat.equalsIgnoreCase("pdf")) {

            response.setContentType("application/pdf");

            response.setHeader("Content-disposition", "inline;filename=" + reportFile + ".pdf");

            try {

                InputStream jasperStream = getServletConfig().getServletContext().getResourceAsStream("/Reports/" + reportFile +".jasper");

                JasperPrint jasperPrint = JasperFillManager.fillReport(jasperStream, params, conn);

                JRPdfExporter exporter = new JRPdfExporter();

                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

                exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());

                exporter.exportReport();

                jasperStream.close();

            } catch (Exception ex) {

                ex.printStackTrace();

            }

        } else if (reportOutputFormat.equalsIgnoreCase("xlsx")) {

            try {

                response.addHeader("Content-disposition", "attachment; filename=" + reportFile + ".xlsx");

                InputStream jasperStream = getServletConfig().getServletContext().getResourceAsStream("/Reports/" + reportFile +".jasper");

                JasperReport template = (JasperReport) JRLoader.loadObject(jasperStream);

                template.setWhenNoDataType(WhenNoDataTypeEnum.NO_DATA_SECTION);

                JasperPrint print = JasperFillManager.fillReport(template, params, conn);

                JRXlsxExporter xlsxExporter = new JRXlsxExporter();

                xlsxExporter.setParameter(JRExporterParameter.JASPER_PRINT, print);

                xlsxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());

                xlsxExporter.exportReport();

                jasperStream.close();

            } catch (Exception ex) {

                ex.printStackTrace();

            }

        } else if (reportOutputFormat.equalsIgnoreCase("docx")) {

            try {

                ServletOutputStream out = response.getOutputStream();

                response.addHeader("Content-disposition", "attachment; filename=" + reportFile + ".docx");

                InputStream jasperStream = getServletConfig().getServletContext().getResourceAsStream("/Reports/" + reportFile +".jasper");

                JasperReport template = (JasperReport) JRLoader.loadObject(jasperStream);

                template.setWhenNoDataType(WhenNoDataTypeEnum.NO_DATA_SECTION);

                JasperPrint print = JasperFillManager.fillReport(template, params, conn);

                JRDocxExporter docxExporter = new JRDocxExporter();

                docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, print);

                docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);

                docxExporter.exportReport();

                jasperStream.close();

            } catch (Exception ex) {

                ex.printStackTrace();

            }

        }

        closeConnection(conn);

    }

    

    private Connection getConnection() {

            try {

                Context ctx = new InitialContext();

                Connection conn = ((DataSource) ctx.lookup("java:comp/env/jdbc/Connection1DS")).getConnection();

                return conn;

            } catch (NamingException ne) {

                ne.printStackTrace();

            } catch (SQLException sqle) {

                sqle.printStackTrace();

            }

            return null;

        }

    

    private void closeConnection(Connection conn) {

           if (conn != null) {

               try {

                   conn.close();

               } catch (SQLException sqle1) {

                   sqle1.printStackTrace();

               }

           }

       }

    

   

   

    

    

   

}

 

رابط هذا التعليق
شارك

معلشى مش واضح مسار اللى فيه التقرير...نفسه ولا مسار اللى فيه البرنامج....انا مدخل التقريركلها على /Report/

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل



×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية