Standalone geht - JSP u. Bean nicht

Status
Nicht offen für weitere Antworten.

AndiArt

Mitglied
Hallo,

ich habe einen neuen Programmteil implementiert. Dort gibt es eine Klasse "Configuration", die Konfigurationsdaten aus einer XML-Datei via JDOM liest. Wenn ich diese Klasse für sich ausführe funktioniert sie. Wenn ich allerdings über eine JSP-Seite eine Bean aufrufe, die über eine weitere Klasse die Instanziierung der Configuration-Klasse anstösst, bekomme ich folgende Fehlermeldung im Browser: (Ausschnitt)

root cause

javax.servlet.ServletException: org/jdom/filter/Filter
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.Anmeld_L3_2211_jsp._jspService(Anmeld_L3_2211_jsp.java:652)


Hat jemand eine Hilfestellung?

Andreas
 
org.apache.jasper.JasperException: org/jdom/filter/Filter
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:619)


root cause

javax.servlet.ServletException: org/jdom/filter/Filter
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.Anmeld_L3_2211_jsp._jspService(Anmeld_L3_2211_jsp.java:652)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:619)
 
Der Fehler tritt beim Handling einer bereits aufgetretenen Exception auf. Eigentlich sollte da noch mehr sein. Schau bitte, ob noch weitere Fehlerinformationen geloggt wurden. Anscheinend scheint sich der Fehler auf deine JSP-Seite zu beziehen. Überprüf diese Seite nochmals und zeig sie uns, falls du nichts findest.
 
Im Log steht auch nichts anderes. Die JSP-Seite funktioniert ohne den neuen Bean-Aufruf. Und der Fehler bezieht sich auf JDOM, was in der Klasse Configuration ist. Ich poste mal meine JSP. Der neue Code steht in Zeile 344.

Code:
<%@ page import="java.sql.*"%>
<%@ page language="java" import="de.hc.pdf_resin.Pdf_Druck_Resin"%>
<jsp:useBean id="pwd" scope="session" class="de.hc.Password"/>
<jsp:useBean id="convert" scope="session" class="de.hc.Convert"/>
<jsp:useBean id="Seite" scope="session" class="de.hc.Seite"/>
<jsp:useBean id="Anmeld" scope="session" class="de.hc.LG_Anmeld_L0_Resin"/>
<jsp:useBean id="data" scope="page" class="de.hc.Data_Bean_Resin"/>
<jsp:useBean id="Mailer_neu" scope="page" class="de.hc.mailer.HC_FM_BKS_Buchung"/>
<jsp:useBean id="Re" scope="session" class="de.hc.Rechnung_bean"/>
<jsp:useBean id="pdf" scope="page" class="de.hc.pdf_from_word.GeneratorBean"/>

<HTML>
<HEAD>
  <TITLE> AnmeldeFormular f&r einen Lehrgang</TITLE>
  <LINK rel=stylesheet type="text/css" href="../../css/master.css">
</HEAD>

<BODY>
	

<%	if (!pwd.isMember()) 
	{	%>
	
		<%@ include file="../Administration/accessdenied.jsp"%>
		
<%	}
	else 

	{		
		de.hc.SQL_Neu sql = de.hc.SQL_Neu.getInstance();

		String query, sqlstr;
		String status4 = "";
		ResultSet rs = null;
		int OK = 0;

		String Statusart = sql.getStatusArt("Lehrgangsteilnahme");
		System.out.println("\n\n\n\n ..... 2211");
		//T_Bedarfsmeldungen 
		// brauche P_Leitzeichen, BM_Planjahr, LP_ID und BM_Bemerkung
		String LG_ID = Anmeld.getLG_ID();
//		String P_Leit = pwd.getMemberP_Leit();
		String jahr = LG_ID.substring(LG_ID.length()-4, LG_ID.length());
		String LP_ID = Anmeld.getLP_ID();
		String BM_ID = "";
		boolean schon = false;
		//int anz_j = data.stringToInt(request.getParameter("anz_j"));
		String pdst = Anmeld.getPDSt();
		String dnr = Anmeld.getDNr();
		String vdst = Anmeld.getVDSt();
		
		String rechnung_vleitz= "";
		String rechnung_tln="";
		String filename = request.getParameter("filename");
		
		int tkl = -1 ;
		
		// 21.11.2007 JW: wenn unentgeltlich, dann soll dann eingetragen werden wer das bezahlt
		// 04.12.2007 : JW nochmal für Rechnung
		int tkl_Rechnung = 521;   // 512 bedeutet Lehrgangs unentgeltlich
		int unentgeltlich = -1; // ist unentgeltlich
		
		String rechnung    = request.getParameter("rechnung");
		String auswahl_1 = request.getParameter("rechnung_an");
		ResultSet rsRech;
		
		if (rechnung.equals("ja")){
						
			// wenn der Rechnung neu erstellt werden soll
			if (auswahl_1.equals("neu")||auswahl_1.equals("neu_p"))
			{
				query = "INSERT INTO T_Adressen "
	                + "( Adressennr, Adr_typ, Adr_name_1, Adr_name_2, Adr_name_3, Adr_name_4, Strasse, PLZ, Ort, Adr_Tel, Adr_fax, Adr_email) "   // 8.2.08 AS : Kontodaten raus
	                + "VALUES ('"+Re.get_adr_bez()+"',"+ 85+",'"+Re.get_adr_name1()+"','"+Re.get_adr_name2()+"','"+Re.get_adr_name2()+"','"+Re.get_adr_name2()+"','"+Re.get_strasse()
	                		 +"','"+Re.get_PLZ()+"','"+Re.get_ort()+"','"+Re.get_tel()+"','"+Re.get_fax()+"','"+Re.get_email()+"')";
	          
             	 OK = sql.sqlUpdate(query);
             	 System.out.println("2211 ---> INSER INTO T_ADRESSEN :"+OK);
             	 // rechnung ID soll angegeben----- zu machen !!
             	 query = "SELECT Adressennr FROM T_Adressen WHERE (Adressennr ='"+ Re.get_adr_bez() +"' AND Adr_name_1 ='"+Re.get_adr_name1() +"' AND Adr_name_2='"+Re.get_adr_name2()+"')";
         	 	 rsRech= sql.sqlStatement(query);
			 	 if (rsRech.next())
			 	 {
					rechnung_vleitz = rsRech.getString(1);
			 	 }
			 	 sql.resultSetClose(rsRech);
			 	 System.out.println ("hier soll was da sein : re_vlz.INSERT:" +rechnung_vleitz);
			 	if (auswahl_1.equals("neu"))
				 	tkl_Rechnung = 516 ; // 04.12.07 hier soll if abfrage kommen ob P_ oder V_leit bezahlt
				else
					 tkl_Rechnung = 515 ; // der PDST bezahlt
			}
			// wenn der Teilnehmer bezahlt
			else if (auswahl_1.equals("tln")|| auswahl_1.equals(""))
			{
				tkl_Rechnung = 517 ;
				
				rechnung_tln = Anmeld.getDNr();
				System.out.println ("hier soll was da sein : re_tln:" +rechnung_tln);
			}
			// wenn eine Dienststelle das bezahlt
			else 
			{
				query = "UPDATE T_Adressen "
				      + "SET Adr_name_1 = '"+Re.get_adr_name1() +"',"
				      + "Adr_name_2 = '"+Re.get_adr_name2()+"',"
				      + "Adr_name_3 = '"+Re.get_adr_name3()+"',"
				      + "Adr_name_4 = '"+Re.get_adr_name4()+"',"
				      + "Strasse = '"+Re.get_strasse()+"',"
				      + "PLZ = '"+Re.get_PLZ()+"',"
				      + "Ort = '"+Re.get_ort()+"',"
				      + "Adr_Tel = '"+Re.get_tel()+"',"
				      + "Adr_fax = '"+Re.get_fax()+"',"
				      + "Adr_email = '"+Re.get_email()+"' "
				      + "WHERE (Adr_ID = "+Re.get_addrId()+")";
				  
				OK = sql.sqlUpdate(query);
				System.out.println("R211 ---> UPDATE T_ADRESSEN :"+OK);
				
				
				query = "SELECT Adressennr FROM T_Adressen WHERE Adr_ID ="+ Re.get_addrId();
				rsRech = sql.sqlStatement(query);
				if (rsRech.next())
				{
					rechnung_vleitz = rsRech.getString(1);
				}
				sql.resultSetClose(rsRech);
				System.out.println ("hier soll was da sein : re_vlz.UPDATE:" +rechnung_vleitz);
				
				if (rechnung_vleitz.equals(Anmeld.getVDSt()))
					tkl_Rechnung = 516 ; // 04.12.07 hier soll if abfrage kommen ob P_ oder V_leit bezahlt
				else
					tkl_Rechnung = 515 ;
			}
			unentgeltlich = 0; // ist entgeltlich
		}
		
		// ----------> ENDE DER RECHNUNGSEINTRAGUNG <----------------------
		System.out.println("L3_2211--->dNr:"+dnr);
		System.out.println("L3_2211--->pdst:"+Anmeld.getPDSt());
		
		
		
		

//		for (int j=1; j<=anz_j; j++)
//		{
			//dnr = request.getParameter("DNr");
			//pdst = request.getParameter("pdst");
			//vdst = request.getParameter("vdst");

			query = "SELECT BM_Tln_gemeldet, BM_Tln_geplant, BM_ID, BM_Bemerkung FROM T_Bedarfsmeldungen " 
				+ "WHERE (P_Leitzeichen = '" + pdst + "') "
				+ "AND (BM_Planjahr = '" + jahr + "') "
				+ "AND (LP_ID = '" + LP_ID + "') "
				+ "AND (BM_Bemerkung not LIKE '*Tel. Reservierung via Anmeldeliste*') "
				+ "ORDER BY BM_ID DESC";
			rs = sql.sqlStatement(query);
			if (rs.next()) 
			{
				schon = true;
				int gemeldet = rs.getInt(1);
				int geplant = rs.getInt(2);
				BM_ID = rs.getString(3);
				String bemerkung = rs.getString(4) + ", BMvO";
				query = "UPDATE T_Bedarfsmeldungen "
					+ "SET BM_Tln_gemeldet = " + (gemeldet+1) + ", "
					+ "BM_Tln_geplant = " + (geplant+1) + ", "
					+ "BM_Bemerkung = '" + bemerkung + "', "
					+ "BM_Gelöscht = 0 "
					+ "WHERE (BM_ID = '" + BM_ID + "') AND (P_Leitzeichen = '" + pdst + "')";
				OK = sql.sqlUpdate(query);
			} 
			else 
			{		// hinzefügen neu Bedarfmeldungen
				// erst mal nimmt die latzte wert von BM_ID
				query = "SELECT T_Bedarfsmeldungen.BM_ID FROM T_Bedarfsmeldungen "
					+ "WHERE ( (T_Bedarfsmeldungen.P_Leitzeichen = '" + pdst + "') "
					+ "AND (T_Bedarfsmeldungen.BM_Planjahr = '" + jahr + "') )"
					+ "ORDER BY T_Bedarfsmeldungen.BM_ID";
				rs = sql.sqlStatement(query);
				while (rs.next()) 
				{
					BM_ID = rs.getString(1);
				}
				int numI = 0;
				if (!BM_ID.equals("")) 
				{
					String num = BM_ID.substring(0,BM_ID.length()-4);
					numI = Integer.parseInt(num);
				}
				BM_ID = (numI+1) + jahr;

				//Jetzt EINTRAGEN
				query = "INSERT INTO T_Bedarfsmeldungen "
					+ "(BM_Tln_gemeldet, BM_Tln_geplant, BM_Tln_Dst, BM_ID, BM_Status, BM_Bemerkung, P_Leitzeichen, BM_Planjahr, LP_ID, BM_Absender, BM_AbsendeDatum) "
					+ "VALUES (1, 1, 1, " + BM_ID + ", 'gemeldet', 'BMvO', '" + pdst + "', "
					+ "'" + jahr +"', '" + LP_ID + "', '" + pwd.getMemberBezeichnung() + "', '" + data.getNDate() + "')";
				OK = sql.sqlUpdate(query);
			}		// end if (rs.next())
			sql.resultSetClose(rs);

			//Zweite : T_Bedarfsmeldung_Lehrgang
			query = "SELECT Tln_zugwiesen, Tln_gemeldet, Tln_offen FROM T_Bedarfsmeldung_Lehrgänge "
				+ "WHERE (BM_ID = '" + BM_ID + "') "
				+ "AND (P_Leitzeichen = '" + pdst + "') "
				+ "AND (LG_ID = '" + LG_ID + "')";
			rs = sql.sqlStatement(query);
			if (rs.next())
			{
				int zug = rs.getInt(1);
				int meldet = rs.getInt(2);
				int offen = rs.getInt(3);

				query = "UPDATE T_Bedarfsmeldung_Lehrgänge "
					+ "SET Tln_zugwiesen = " + (zug+1) + ", "
					+ "Tln_offen = " + (offen+1)
					+ " WHERE (BM_ID = '" + BM_ID + "') AND (P_Leitzeichen = '" + pdst + "') "
					+ "AND (LG_ID = '" + Anmeld.getLG_ID() + "')";
				OK = sql.sqlUpdate(query);
			} 
			else 
			{
				query = "INSERT INTO T_Bedarfsmeldung_Lehrgänge "
					+ "(P_Leitzeichen, BM_ID, LG_ID, Tln_zugwiesen, Tln_gemeldet, Tln_offen) "
					+ "VALUES ('" + pdst + "', '" + BM_ID + "', '" + LG_ID + "', "
					+ "1, 0, 1)";
				OK = sql.sqlUpdate(query);
			}
			sql.resultSetClose(rs);

			//Driete T_Lehrgang
			query = "SELECT LG_Soll_Anzahl FROM T_Lehrgänge WHERE LG_ID = '" + LG_ID + "'";
			rs = sql.sqlStatement(query);
			rs.next();
			int soll = rs.getInt(1);

			query = "UPDATE T_Lehrgänge SET LG_Soll_Anzahl = " + (soll+1)
				+ " WHERE LG_ID = '" + LG_ID + "'";
			OK = sql.sqlUpdate(query);

			// T_Anmeldungen
			query = "SELECT T_Status.Sts_Status " 
				+ "FROM T_Statusart INNER JOIN T_Status ON T_Statusart.Sta_ID = T_Status.Sts_art "
				+ "WHERE (T_Statusart.Sta_bez = 'Anmeldestatus') AND (T_Status.StS_bez = 'Angemeldet')";
			rs = sql.sqlStatement(query);
			if (rs.next()) 
			{
				status4 = rs.getString(1);
			}
			
			// 13.11.2007 JW : rausfinden den Typklassen für den eintrag BMVO
			query = "SELECT  T_Typklassen.TKL_ID "
                  +" FROM  T_Typ INNER JOIN T_Typklassen ON T_Typ.Typ_ID = T_Typklassen.TKL_typ "
                  +" WHERE(T_Typ.Typ_bez = 'Anmeldungstyp') AND (T_Typklassen.TKL_bez = 'BMVO')" ;
            
        
            ResultSet rsTKL = sql.sqlStatement(query);
            if (rsTKL.next()) 
			{
				tkl = rsTKL.getInt(1);
			}
			sql.resultSetClose(rsTKL);
			System.out.println("mein TKL ist:-------"+tkl);
				

//    Query zum Eintrag der Teilnehmerdaten in T_Anmeldungen
//			Anmeld.setDTaetig(convert.checkNull(request.getParameter("dabei_taetig"),3));
//			Anmeld.setBeschaeftigung(convert.checkNull(request.getParameter("beschaeftigung"),3));
//			Anmeld.setArbeitgeber(convert.checkNull(request.getParameter("arbeitgeber"),3));
//			Anmeld.setKatS_Helfer(convert.checkNull(request.getParameter("KatS_Helfer"),3));
//			Anmeld.setKfz_Kennz_Bund(convert.checkNull(request.getParameter("Kfz_Kennz_Bund"),3));
//			Anmeld.setBahnhof(convert.checkNull(request.getParameter("Abreisebahnhof"),3));

			query = "INSERT INTO T_Anmeldungen (Anm_LG_ID, Anm_Tln_Dienstnummer, "
				+ "Anm_P_Leitzeichen, Anm_V_Leitzeichen, "
				+ "Anm_Anrede, Anm_Nachname, Anm_Vorname, "
				+ "Anm_PLZ, Anm_Wohnort, Anm_strasse, "
				+ "Anm_Tel_DST, Anm_Dienstgrad, Anm_Status1, "
				+ "Anm_Datum, Anm_email_antragsteller, Anm_Status3, Anm_Status4, Anm_Sichtbar, Anm_BM_ID, "
				+ "Anm_Tätigkeitsstatus, Anm_Arbeitgeber, Anm_bes_verhältnis, Anm_Kat, Anm_Kat_Zug, Anm_Bhf, "
				+ "Anm_Übernachtung, Anm_WDatum, Anm_Anreise_Datum, Anm_LG_WW_Seminar_ID, Anm_TKL_Typ, " 								 //30.10.2007 JW : Anm_LG_WW_Seminar_ID eingefügt..hier soll anm_tkl eingefügt
				+ "Anm_Rechnung_Adressennr, Anm_Rechnung_Tln_Dienstnummer, Anm_TKL_Rechnung, Anm_Unentgeltlich ";			
			if (!Anmeld.getA_LG_ID().equals("0")) query += ", Anm_Ausweich_Nr, Anm_Ausweich_Datum ";
			
			query += ") VALUES ('" + Anmeld.getLG_ID() + "', '" + dnr + "', "
				+ "'" + Anmeld.getPDSt() + "', '" + Anmeld.getVDSt() + "', "
				+ "'" + Anmeld.getAnrede() + "', '" + Anmeld.getName() + "', '" + Anmeld.getVName() + "', "
				+ "'" + Anmeld.getPLZ() + "', '" + Anmeld.getOrt() + "', '" + Anmeld.getStrasse() + "', "
				+ "'" + Anmeld.getTelD() + "', '" + Anmeld.getDGr() + "', '" + sql.getStatus(Statusart, "gemeldet") + "', "
				+ "'" + data.getNDate() + "', '" + Anmeld.getMail() + "', "+ status4+ ", '" + status4 + "', -1, " + BM_ID + ", "
				+ Anmeld.getDTaetig() + ", " + Anmeld.getArbeitgeber() + ", " + Anmeld.getBeschaeftigung() + ", "
				+ Anmeld.getKatS_Helfer() + ", '" + Anmeld.getKfz_Kennz_Bund() + "', " + Anmeld.getBahnhof() + ", "
				+ Anmeld.getBett() + ", '" + Anmeld.getbeginn() + "', '" + Anmeld.getAnreise()+ "', '" + Anmeld.getLG_WW_ID() + "',"+tkl + ",'"+ rechnung_vleitz+ "','"+rechnung_tln+"', "+tkl_Rechnung+", "+unentgeltlich;	//30.10.2007 JW : Anmeld.getLG_WW_ID() eingefügt
			if (!Anmeld.getA_LG_ID().equals("0")) query += ", '" + Anmeld.getA_LG_ID() + "', '" + Anmeld.getA_beginn() + "'";	
			query += ")";

/*
query = "INSERT INTO T_Anmeldungen (Anm_LG_ID, Anm_Tln_Dienstnummer, "
	+ "Anm_P_Leitzeichen, Anm_V_Leitzeichen, "
	+ "Anm_Anrede, Anm_Nachname, Anm_Vorname, "
	+ "Anm_PLZ, Anm_Wohnort, Anm_strasse, "
	+ "Anm_Tel_DST, Anm_WDatum, "
	+ "Anm_Ausweich_Nr, Anm_Ausweich_Datum, "
	+ "Anm_Übernachtung, Anm_Anreise_Datum, Anm_Begründung, "
	+ "Anm_Dienstgrad, Anm_Status1, "
	+ "Anm_Datum, Anm_email_antragsteller, Anm_Status3, Anm_Status4, Anm_Sichtbar, Anm_BM_ID, "
	+ "Anm_Tätigkeitsstatus, Anm_Arbeitgeber, Anm_bes_verhältnis, Anm_Kat, Anm_Kat_Zug, Anm_Bhf, Anm_LG_WW_Seminar_ID, Anm_TKL_Typ, Anm_Rechnung_Adressennr, Anm_Rechnung_Tln_Dienstnummer, Anm_TKL_Rechnung, Anm_Unentgeltlich ) "		//30.10.2007 JW : Anm_LG_WW_Seminar_ID eingefügt

	+ "VALUES ('" + Anmeld.getLG_ID() + "', '" + Anmeld.getDNr() + "', "
	+ "'" + Anmeld.getPDSt() + "', '" + Anmeld.getVDSt() + "', "
	+ "'" + Anmeld.getAnrede() + "', '" + Anmeld.getName() + "', '" + Anmeld.getVName() + "', "
	+ "'" + Anmeld.getPLZ() + "', '" + Anmeld.getOrt() + "', '" + Anmeld.getStrasse() + "', "
	+ "'" + Anmeld.getTelD() + "', '" + Anmeld.getbeginn() + "', "
	+ "'" + Anmeld.getA_LG_ID() + "', '" + Anmeld.getA_beginn() + "', "
	+ "'" + Anmeld.getBett() + "', '" + Anmeld.getAnreise() + "', '" + Anmeld.getAntrag() + "', "
	+ "'" + Anmeld.getDGr() + "', " + sql.getStatus(Statusart, "gemeldet") + ", "
	+ "'" + data.getNDate() + "', '" + Anmeld.getIMail() + "', "+status4+", " + status4 + ", -1, " + BM_ID + ", "
	+ Anmeld.getDTaetig() + ", " + Anmeld.getArbeitgeber() + ", " + Anmeld.getBeschaeftigung() + ", "
	+ Anmeld.getKatS_Helfer() + ", '" + Anmeld.getKfz_Kennz_Bund() + "', " + Anmeld.getBahnhof()+ ",'" + Anmeld.getLG_WW_ID() +"',"+tkl+ ",'"+ rechnung_vleitz+ "','"+rechnung_tln+"', "+tkl_Rechnung+", "+unentgeltlich+")"; //30.10.2007 JW : Anmeld.getLG_WW_ID() eingefügt
*/
			OK = sql.sqlUpdate(query);
			
			String quer = "Update T_Teilnehmer SET Tln_Anrede = '"+Anmeld.getAnrede()+"', "  // 5.2.08 AS hier um Kontoinfos ergänzt
							+ "Tln_Nachname = '"+Anmeld.getName()+"', "
							+ "Tln_Vorname = '"+Anmeld.getVName()+"', "
							+ "Tln_Straße = '"+Anmeld.getStrasse()+"', "
							+ "Tln_Wohnort = '"+Anmeld.getOrt()+"', "
							+ "Tln_Plz = '"+Anmeld.getPLZ()+"', "
							+ "Tln_Email = '"+Anmeld.getMail()+"', "
							+ "Tln_Geburtsdatum = '"+Anmeld.getGeburtsDatum()+"', "
							+ "Tln_Geburtsort = '"+Anmeld.getGeburtsOrt()+"', "
							+ "Tln_Telefon_dienstlich = '"+Anmeld.getTelD()+"', "
							+ "Tln_Dienstgrad = '"+Anmeld.getDGr()+"' ";
									
				quer += "Where Tln_Dienstnummer like '"+Anmeld.getDNr()+"'";
				
				int status = sql.sqlUpdate(quer);
					   	if (status == -1) 
						{
						   System.out.println("Fehler bei: \n"+quer);
		                                }	
		%>
		
<%			filename=pdf.getPdf("Brief-Test", "SERIESHOW", pwd.getMemberP_Leit(), Anmeld.getDNr(), LG_ID);		
%>		
		
	   		
	   		<% long lng_Times = new java.util.Date().getTime();// aktuelle Zeit
	   		   filename = "anmeldung"+LG_ID+Anmeld.getDNr()+lng_Times+".pdf";
	   		%>
	   		<jsp:include page="../Bedarf/Pdf_Druck_Resin.jsp">
				<jsp:param name= "action"   value="anmeldung"/>
				<jsp:param name= "lg_id"    value="<%=LG_ID%>"/>
				<jsp:param name= "DNr"      value="<%=Anmeld.getDNr()%>"/>
				<jsp:param name= "filename" value="<%=filename%>"/>
			</jsp:include>
			
			
		
		
		
		
		<%	if ( Anmeld.getIMail() == 1 ) 
			{
				String betreff = "Anmeldung zum Lehrgang ";
				String nachricht = "Sehr geehrte/r "+Anmeld.getAnrede()+" "+Anmeld.getName()+",\n\nSie wurden zum Lehrgang ";
				nachricht +=  Anmeld.getbez() ;
				nachricht += " angemeldet. \n\n";
				nachricht += "Ort : "+ Anmeld.getOrt() + "\n";
				nachricht += "Anreisedatum : "+ Anmeld.getAnreise() + "\n";
				nachricht += "Lehrgang Begin : "+ Anmeld.getbeginn() + "\n";
				nachricht += "Lehrgang Ende : "+ Anmeld.getEnde() + "\n\n";
				nachricht += "Eine Benachrichtigung, ob Sie am Lehrgang auch teilnehmen können, erhalten Sie vom Veranstalter." + "\n\n";
				nachricht += "Mit freundlichen Grüßen"+ "\n";
				nachricht += pwd.getVorname()+" "+pwd.getName();			
				String absender = "";
				String smtp = "";
				String user = "";
				String pass = "";
				
				query = "SELECT SET_FROM, Set_MOutServer, Set_MOutUser, Set_MOutPwd "
							+ " FROM T_Mail_Settings WHERE Set_Kontoname = 'BKS'";
				rs = sql.sqlStatement(query);
				if (rs.next()) 
				{
					absender = rs.getString(1);
					smtp = rs.getString(2);
					user = rs.getString(3);
					pass = rs.getString(4);
				}
				String mail = Anmeld.getMail();
				
				if (mail == null || mail.equals("") || mail.equals(" ")) 
				{	%>
				
					<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
					<!--
						alert ("Keine Email zur Person: <%=Anmeld.getName()%>, <%=Anmeld.getVName()%> gefunden.\nDaher wurde die Person nicht per email benachrichtigt")
					//-->
					</SCRIPT>
				
<%			  	}		// end if (mail == null || mail.equals("") || mail.equals(" "))
		
				if (mail != null && !mail.equals("") && !mail.equals(" ")) 
				{
					//boolean ok = Mailer.sendMail(mail,betreff,nachricht,absender,smtp); 
					boolean ok = Mailer_neu.create(mail,betreff,nachricht, filename,absender,smtp,user,pass);
					if (ok) 
					{	%>
					
						<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
						<!--
							alert ("Es wurde eine email mit PDF-Anhang an <%=Anmeld.getName()%>, <%=Anmeld.getVName()%> verschickt.")
						//-->
						</SCRIPT>
				  
<%			    	} 
					else 
					{	%>
					
						<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
						<!--
							alert ("! Fehler beim verschicken der email. Bitte versuchen Sie bei Bedarf manuell\neine email an <%=mail%> zu schicken !")
						//-->
						</SCRIPT>
				
<%			    	}		// end if (ok)
				} 		// end if (mail != null && !mail.equals("") && !mail.equals(" "))
			}	//end if (Anmeld.getIMail() == 1)  start mailversand
			sql.connectionClose(rs);
		%>
		 
		
		<%	
			Anmeld.clear();
//		}			// ende von for (int j=1; j<=anz_j; j++) 
		%>		

		

&</p>
		<p align="center">Anmeldung erfolgreich durchgef&hrt</p>
		<form name="form1" method="post" action="Anmeld_L3_221.jsp">
		  <div align="center">
		    <input type="submit" class ="submit" name="ok" id="ok" value="ok">
		    <input type="submit" class ="submit" name="drucken" id="drucken" value="Anmeldung drucken" onclick="window.open('../../pdf_erstellung/pdf/<%=filename %>','Anmeldung','width=740,height=640,left=100,top=0,scrollbars')">
	      	<input type="hidden" name="lgid" value="<%=Anmeld.getLG_ID()%>">
	      	<input type="hidden" name="pdst" value="*">
	      	<input type="hidden" name="vdst" value="*">
	      </div>
		</form>	
		
	<%}%>		


</body>
</html>
 
Himmel, das ist ja ein Monstrum! :shock:

Da kann man kaum durchblicken und ich prophezeihe dir jetzt schon: das Ganze wirst du auf Dauer nicht warten können.

Auf den ersten Blick kann ich da erstmal nichts erkennen. Ich empfehle dir eindringlichst, die ganze Logik mal in ein Servlet auszulagern, dann wird sich automatisch auch der Fehler ändern (da dieser augenscheinlich nur im JSP-PageContext auftritt) und ist vielleicht aussagekräftiger.

Wenn du das so lassen willst, musst du es debuggen.
 
Da kann man kaum durchblicken und ich prophezeihe dir jetzt schon: das Ganze wirst du auf Dauer nicht warten können.
Ist doch jetzt schon unwartbar, oder zumindest nur mit sehr sehr viel Aufwand... 😉

Da wäre wohl ein refactoring die einzig sinvnvolle Vorgehensweise, besonders mittel- und langfristig, sogar jurzfristig, wenn er sein Problem nicht anders löst.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben