Perché getservletcontext non si trova?

Sto cercando di utilizzare getServletContext().getRealPath( “/” ) , ma continuo a ricevere questo errore:

impossibile trovare il simbolo
simbolo : il metodo getServletContext()
posizione: interfaccia javax.servlet.http.HttpSession
String path = session.getServletContext().getRealPath(“/”) + “layout/piastrelle/” + reportPath ;

Perché getservletcontext non si trova?

public ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse response ) throws Exception {

        session = request.getSession();
        Map params = new HashMap();
        String reportPath = "maintenance/jasper/report01.jasper";
        exportToPDF( reportPath , response, params );

        return null;
    }

    protected void exportToPDF( String reportPath , HttpServletResponse response, Map jasperParams ) throws Exception {

            String path = session.getServletContext().getRealPath( "/" ) + "layout/tiles/" + reportPath ;

            if ( !new File( path ).exists() ) {
                throw new Exception( "The path doesn''t exist. </br>" + path );
            }
            InputStream input = new FileInputStream( path );

            jasperParams.put( "REPORT_LOCALE", Locale.US );

            JasperPrint jasper = JasperFillManager.fillReport( input , jasperParams, new JRBeanCollectionDataSource(Vehicles) );

            response.setContentType( "application/pdf" );
            ServletOutputStream output = response.getOutputStream();

            JRExporter exporter = new JRPdfExporter();

            exporter.setParameter( JRExporterParameter.JASPER_PRINT, jasper );
            exporter.setParameter( JRExporterParameter.OUTPUT_STREAM, output );

            exporter.exportReport();
            output.close();


    }

Hai qualche idea del perché questo sta accadendo ?

Grazie Ritesh, ho fatto quello che mi hai detto, ma ora che ho un nuovo messaggio

Perché getservletcontext non si trova?

——EDIT——–

di controllare il mio dispatcher-servlet.xml ho trovato che è un po ‘ diverso dal codice mostrate in questa web . Non so come potrebbe influenzare il mio progetto, ma quello che mi piacerebbe sapere se c’è un approccio diverso per ottenere lo stesso risultato utilizzando sessione.getServletContext().getRealPath( “/” )

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
              value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="tilesConfigurer"
      class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>
  • Può controllare questo documento netbeans.org/kb/68/web/quickstart-webapps-spring.html e vedere se c’è qualcosa di diverso nel tuo progetto di installazione?
  • Che versione di Jasper report stai usando e quale vasetti di Jasper report hanno aggiunto nel vostro progetto?
  • 3.7.1 e … questo è abbastanza imbarazzante, dal momento che non sapevo che i vasetti di aggiungere, ho aggiunto tutti i vasetti inclusi nel “lib” e “dist” cartelle che vengono con il jasperreports-3.7.1-project.zip.
  • Si prega di vedere la mia cura rispondere qui sotto.
InformationsquelleAutor eddy | 2011-01-30



One Reply
  1. 4

    getServletContext() è stato aggiunto in Servlet 2.3. Non c’era in 2.2, vedere Servlet 2.2 javadoc

    Così unica spiegazione è che il progetto è di convalida del codice contro la vecchia versione.

    getServletContext() c’è anche nella Primavera del Controller di classe che sembra che si stia utilizzando. Così, invece di session.getServletContext().getRealPath( "/" ), sarete bene con solo getServletContext().getRealPath( "/" )

    Modificato 30 Gen: Jasper Report file jar pulizia

    Ho verificato che jasperreports-3.7.1-project.zip è vecchia versione di servlet.jar. Mi raccomando seguenti:

    1. Rimuovere tutti i file jar che è stato aggiunto dalla cartella lib di jasperreports-3.7.1-project.zip ma mantenere i file jar da “dist” cartella.

    2. Add jar file uno a uno basato su messaggi di errore di compilazione. Si prega di non aggiungere qualsiasi file jar che è disponibile anche in TOMCAT-HOME/cartella lib e non aggiungere Primavera del file jar. Dal momento che si sa che jasper report progetto è vecchio file jar, prima vedere se netbeans fornisce a quei vasetti, se poi non provare con le versioni più recenti da altri archivi come http://repo1.maven.org/maven2/. Framework Spring scaricare con dipendenze ha anche diversi file più comuni che è possibile utilizzare.

    3. Controllare qualsiasi risorsa online per ottenere maggiori informazioni su i file jar necessari. Collegamento riportato di seguito viene descritto l’integrazione con jasper reports versione 1.2.5 in netbeans: http://developers.sun.com/jsenterprise/archive/reference/techart/jse8/jasper_reports.html Ma avete bisogno di qualcosa come quella relativa alla versione 3.7.1.

    • “la convalida del codice contro …” – più probabile, è compilazione contro una vecchia versione delle Api.
    • Scusate, sono nuovo di java. Per favore potete dirmi come posso cambiare il numero di versione? dove posso trovare questo vaso?
    • Dalla domanda (e l’immagine), non è chiaro se si tratta di un errore di compilazione. Non c’è nessuna informazione su come il progetto è in fase di costruzione. Se si utilizza Eclipse IDE, quindi fare clic destro sul nome del progetto, fare clic su proprietà, selezionare “Progetto Facet” e modificare la versione di ‘Web Dinamici Modulo’. Che consentirà di correggere l’errore di convalida in IDE.
    • Sto utilizzando netbeans 6.8 e tomcat 6.0.29. Quando si tenta di generare il progetto, questo che ho ora: “cannot find symbol symbol : metodo getServletContext()”
    • Non so come ringraziarti per il tuo aiuto. Ho fatto quello che mi hai detto e si è rivelato essere il solo vaso di cui avevo bisogno era “jasperreports-3.7.1.jar”.Non ho nemmeno bisogno di aggiungere “iText-2.1.0.jar”, che ho pensato che era necessario, in caso di esportazione in pdf.

Lascia un commento