Gå til innhold

java servlet invoke service() exception


Anbefalte innlegg

hei, får denne feilmeldingen

 

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

javax.servlet.ServletException: Invoker service() exception

org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:477)

org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)

javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

root cause

 

java.lang.NoClassDefFoundError

java.lang.Class.forName0(Native Method)

java.lang.Class.forName(Class.java:141)

java.awt.Toolkit$2.run(Toolkit.java:748)

java.security.AccessController.doPrivileged(Native Method)

java.awt.Toolkit.getDefaultToolkit(Toolkit.java:739)

javax.swing.ImageIcon.<init>(ImageIcon.java:205)

javax.swing.LookAndFeel$1.createValue(LookAndFeel.java:274)

javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:184)

javax.swing.UIDefaults.get(UIDefaults.java:129)

javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:44)

javax.swing.UIDefaults.getIcon(UIDefaults.java:410)

javax.swing.UIManager.getIcon(UIManager.java:537)

javax.swing.plaf.basic.BasicOptionPaneUI.getIconForType(BasicOptionPaneUI.java:555)

javax.swing.plaf.basic.BasicOptionPaneUI.getIcon(BasicOptionPaneUI.java:543)

javax.swing.plaf.basic.BasicOptionPaneUI.createMessageArea(BasicOptionPaneUI.java:313)

javax.swing.plaf.basic.BasicOptionPaneUI.installComponents(BasicOptionPaneUI.java:154)

javax.swing.plaf.basic.BasicOptionPaneUI.installUI(BasicOptionPaneUI.java:122)

javax.swing.JComponent.setUI(JComponent.java:449)

javax.swing.JOptionPane.setUI(JOptionPane.java:1693)

javax.swing.JOptionPane.updateUI(JOptionPane.java:1715)

javax.swing.JOptionPane.<init>(JOptionPane.java:1678)

javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:828)

javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:642)

javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:613)

examina.eCon_ServletDatabase.doGet(eCon_ServletDatabase.java:42)

javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)

org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)

javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.4 logs.

Apache Tomcat/5.5.4

på denne url'en:

 

http://tomcat.oslo.nith.no/rynale/servlet/...ServletDatabase

 

filen: (web-inf, web.xml er korrekte)

 

package examina;

/*Denne klassen oppretter forbindelse til oracle serveren
*og utfører øsnkede sql setninger.
*/

import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import javax.swing.*;
import java.util.*;

public class eCon_ServletDatabase extends HttpServlet

{
private Connection forbindelse; 
private int status = -1;
private String svar="";
private String student;
 
public void doGet(HttpServletRequest request, 
                            HttpServletResponse response )
     throws ServletException, IOException   {
           String bruker = "3123";
           String passord = "123";
 try 
               {	
 	Class.forName("oracle.jdbc.driver.OracleDriver");   
 	forbindelse = DriverManager.getConnection(
   "jdbc:oracle:thin:@oracle.nith.no:1521:STUD", bruker, passord);
 	status = 1; 
 }
 catch ( ClassNotFoundException cnfex) 
               { 
 	JOptionPane.showMessageDialog(null,"Feilet med å laste driveren: " + cnfex.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
 	//System.exit(1);
 	status = -1;
 }
 catch ( SQLException sqlex) 
               {	
   JOptionPane.showMessageDialog(null,"Tilkobling ikke mulig: " + sqlex.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
 	//System.exit(1);
 	status = -1;
 }
}
public void lukkForbindelse() 
       {
 try 
               {
    forbindelse.close();
 }
 catch ( SQLException sqlex ) 
               {
   JOptionPane.showMessageDialog(null,"Klarte ikke å koble fra.","Feil!", JOptionPane.ERROR_MESSAGE );
 }
}
public void avslutt() 
       {
 lukkForbindelse();
 System.out.println("Lukker forbindelsen.");
}
public Connection getConnection()
{
 return forbindelse;
}
public int visStatus()
{	
 return status;	
}
public void VisAlleFag(DefaultListModel x)
{
 svar ="";
 Statement stmt;
               try 
               {
                       stmt = forbindelse.createStatement();
                       String sporring = "select * from prosjekt.fag";
                       ResultSet resultat = stmt.executeQuery(sporring);
                               while (resultat.next())
                               {
                               svar =  resultat.getString("ID") +"   "+ resultat.getString("NAVN");

                               x.addElement( svar );

                               }	
                               stmt.close();
               }
               catch (SQLException e) 
               {
   	JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
               }      
}
public void VisEtFag(DefaultListModel x, String id)
{
           //id.toUpperCase();
           svar ="";
           Statement stmt;
           try 
           {
               stmt = forbindelse.createStatement();
               String sporring = "select * from prosjekt.fag WHERE fag.id='"+id+"'";
               ResultSet resultat = stmt.executeQuery(sporring);
               while (resultat.next())
               {
                   svar =  resultat.getString("ID") +"   "+ resultat.getString("NAVN");
                   x.addElement( svar );
               }	
               stmt.close();
           }
           catch (SQLException e) 
           {
   JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
           }      
}
public void VisEnStudent(DefaultListModel x, String id)
{
 student = "Du har tastet inn et ugyldig ID";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   "SELECT student.id, fornavn, etternavn, klassenavn " +
   "FROM prosjekt.student, prosjekt.klasse " +
   "WHERE student.klasseid = klasse.klasseid AND student.id = "+id+"";
   
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	student =  	resultat.getInt("ID") +"   " +
       resultat.getString("FORNAVN")+ "   " +
       resultat.getString("ETTERNAVN")+"   " +
       resultat.getString("KLASSENAVN");
   	
     x.addElement( student );
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }       
}
public void VisAlleKlasser(DefaultListModel x)
{
 svar ="";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = "select * from prosjekt.klasse";
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	svar =  resultat.getInt("KLASSEID") +"   "+ resultat.getString("KLASSENAVN");
   	
   	x.addElement( svar );
     
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }      
}
public void VisAlleStudenterIKlassen(DefaultListModel x, String id)
{
 svar ="";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   "SELECT student.id, fornavn, etternavn, klassenavn " +
   "FROM prosjekt.student, prosjekt.klasse " +
   "WHERE student.klasseid = klasse.klasseid AND klasse.klasseid = "+id+"";
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	svar =  resultat.getInt("ID") +"   "+ 
     	resultat.getString("FORNAVN") +"   "+
     	resultat.getString("ETTERNAVN") +"   "+
     	resultat.getString("KLASSENAVN");
   	
   	x.addElement( svar );
     
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }      
 
}
public void RegistrerEksamen(DefaultListModel x,String eksid, String dato,String fagkode)
{
 svar ="";
 
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	"INSERT INTO EXAM_EKSAMEN VALUES("+eksid+",TO_DATE('"+dato+"','DD-MM-YYYY'),'"+fagkode+"') ";
   int antall = stmt.executeUpdate(sporring);
   
   String a ="Antall rader lagt til: "+ Integer.toString(antall);
   x.removeAllElements();
   x.addElement(a);
   
   	stmt.close();  	
 	}
 	
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	x.addElement("Klarer ikke å utføre oppdateringen\n\n"+e.getMessage() );
   }  
     
}
public void VisAlleEksamner(DefaultListModel x)
{
 svar ="";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	
   	"SELECT EKSID, DATO, NAVN"+"   "+
   	"FROM EXAM_EKSAMEN, prosjekt.fag"+"   "+
   	"WHERE EXAM_EKSAMEN.id = prosjekt.fag.id"+"   "+
   	"ORDER BY EKSID";
   	
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	svar =  resultat.getInt("EKSID") +"   "+ 
     	resultat.getDate("DATO") +"   "+
     	resultat.getString("NAVN");
   	
   	x.addElement( svar );
     
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	JOptionPane.showMessageDialog(null,"Klarer ikke å utføre oppdateringen "+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }      
 
}

public void MeldOppStudent(DefaultListModel x, String eksamensid, String studid)
{
 svar ="";
 String b = "null";
 
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	"INSERT INTO EXAM_UTFORELSE VALUES("+eksamensid+","+studid+","+b+")";
   int antall = stmt.executeUpdate(sporring);
   
   String a ="Antall rader lagt til: "+ Integer.toString(antall);
   x.removeAllElements();
   x.addElement(a);
   
   	stmt.close();  	
 	}
 	
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	x.addElement("Klarer ikke å utføre registreringen\n\n"+e.getMessage() );
   }  
 
}
public void MeldOppKlasse(DefaultListModel x, String eksamensid, String[] studnr)
{
 svar ="";
 int sum = 0;
 String karakter = "null";
 
 PreparedStatement prepStmt;
 	try 
 	{
   forbindelse.setAutoCommit(false);

   String sqlSetning = 
   	"INSERT INTO EXAM_UTFORELSE VALUES("+eksamensid+",?,"+karakter+")";
   prepStmt = forbindelse.prepareStatement(sqlSetning);
   
   for (int i = 0; i < studnr.length; i++) 
   	{
     prepStmt.setString(1, studnr[i]);
     int n = prepStmt.executeUpdate();
   	}
   
    forbindelse.commit();
    prepStmt.close();
 
 	}
 	
   catch (SQLException e) 
   {
   	//x.removeAllElements();
   	x.addElement("Klarer ikke å utføre registreringen\n\n"+e.getMessage());
   }  
 
}
public void VisOppmeldteStudenter(DefaultListModel x)
{
 svar ="";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	
   	"SELECT EXAM_UTFORELSE.eksid,EXAM_UTFORELSE.id, NAVN, DATO, FORNAVN, ETTERNAVN"+"   "+
   	"FROM EXAM_EKSAMEN, EXAM_UTFORELSE, prosjekt.fag, prosjekt.student"+"   "+
   	"WHERE  EXAM_EKSAMEN.id = prosjekt.fag.id AND"+"   "+
   	"EXAM_EKSAMEN.eksid = EXAM_UTFORELSE.eksid AND"+"   "+
   	"EXAM_UTFORELSE.id = prosjekt.student.id"+"   "+
   	"ORDER BY NAVN";
   	
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	svar =  resultat.getString("EKSID") +"   "+ 
     	resultat.getString("ID") +"   "+ 
     	resultat.getString("NAVN") +"   "+ 
     	resultat.getDate("DATO") +"   "+
     	resultat.getString("FORNAVN") +"   "+ 
     	resultat.getString("ETTERNAVN");
   	
   	x.addElement( svar );
     
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	JOptionPane.showMessageDialog(null,"Klarer ikke å vise listen"+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }      
 
}
public void VisOppmeldteStudenterTilEnEks(DefaultListModel x, String eksid)
{
 svar ="";
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	
   	"SELECT EXAM_UTFORELSE.eksid,EXAM_UTFORELSE.id, NAVN, DATO, FORNAVN, ETTERNAVN"+"   "+
   	"FROM EXAM_EKSAMEN, EXAM_UTFORELSE, prosjekt.fag, prosjekt.student"+"   "+
   	"WHERE  EXAM_EKSAMEN.id = prosjekt.fag.id AND"+"   "+
   	"EXAM_EKSAMEN.eksid = EXAM_UTFORELSE.eksid AND"+"   "+
   	"EXAM_EKSAMEN.eksid = "+eksid+" AND"+"   "+
   	"EXAM_UTFORELSE.id = prosjekt.student.id"+"   "+
   	"ORDER BY NAVN";
   	
   ResultSet resultat = stmt.executeQuery(sporring);
   	while (resultat.next())
   	{
   	svar =  resultat.getString("EKSID") +"   "+ 
     	resultat.getString("ID") +"   "+ 
     	resultat.getString("NAVN") +"   "+ 
     	resultat.getDate("DATO") +"   "+
     	resultat.getString("FORNAVN") +"   "+ 
     	resultat.getString("ETTERNAVN");
   	
   	x.addElement( svar );
     
   	}	
 	
     	stmt.close();
   }
     
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	JOptionPane.showMessageDialog(null,"Klarer ikke å vise listen"+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
   }      
 
}
public void EndreEksamen(DefaultListModel x, String gammelid, String nyeksid, String studnr)
{
 svar ="";
 
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	"UPDATE EXAM_UTFORELSE SET EKSID="+nyeksid+"WHERE EKSID="+gammelid+" AND ID="+studnr;
   	
   int antall = stmt.executeUpdate(sporring);
   
   String a ="Antall rader endret til: "+ Integer.toString(antall);
   x.removeAllElements();
   x.addElement(a);
   
   	stmt.close();  	
 	}
 	
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	x.addElement("Klarer ikke å utføre oppdateringen\n\n"+e.getMessage() );
   }  
}
public void SlettOppmelding(DefaultListModel x,String studnr,String eksid)
{
 svar ="";
 
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	"DELETE FROM EXAM_UTFORELSE WHERE EKSID="+eksid+" AND ID="+studnr;
   	
   int antall = stmt.executeUpdate(sporring);
   
   String a ="Antall rader slettet til: "+ Integer.toString(antall);
   x.removeAllElements();
   x.addElement(a);
   
   	stmt.close();  	
 	}
 	
   catch (SQLException e) 
   {
   	x.removeAllElements();
   	x.addElement("Klarer ikke å utføre slettingen\n\n"+e.getMessage() );
   }  
 
 
}
public void SlettAlleOppmeldinger(DefaultListModel x, String eksid)
{
 Statement stmt;
 try 
 {
 	stmt = forbindelse.createStatement();
 	String sporring = 
   "DELETE FROM EXAM_UTFORELSE WHERE EKSID="+eksid;
   
 	int antall = stmt.executeUpdate(sporring);
 	
 	String a ="Antall rader slettet til: "+ Integer.toString(antall);
 	x.removeAllElements();
 	x.addElement(a);
 	
   stmt.close();  	
 }
 
 	catch (SQLException e) 
 	{
   x.removeAllElements();
   x.addElement("Klarer ikke å utføre slettingen\n\n"+e.getMessage() );
 	}  

 
}
public void SlettEnEksamen(DefaultListModel x,String eksid)
{
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = 
   	"DELETE FROM EXAM_EKSAMEN WHERE EKSID="+eksid;
   
   int antall = stmt.executeUpdate(sporring);
 	
   String a ="Antall rader slettet til: "+ Integer.toString(antall);
   x.removeAllElements();
   x.addElement(a);
 	
   stmt.close();  	
 	}
 
 	catch (SQLException e) 
 	{
   x.removeAllElements();
   x.addElement("Klarer ikke å utføre slettingen\n\n"+e.getMessage() );
 	}  

 
}
public void SlettKlasseOppmelding(DefaultListModel x,String[] studnr,String eksid)
{
 PreparedStatement prepStmt;
 	try
 	{
   forbindelse.setAutoCommit(false);
   String sqlSetning = 
   	"DELETE FROM EXAM_UTFORELSE WHERE EKSID="+eksid+" AND ID= ?";
   prepStmt = forbindelse.prepareStatement(sqlSetning);
   
   for (int i = 0; i < studnr.length; i++)
   {
   	prepStmt.setString(1, studnr[i]);	
   	int n = prepStmt.executeUpdate();  
   }
   forbindelse.commit();
   prepStmt.close();	
 	}
 	catch(SQLException e)
 	{
   x.addElement("Klarer ikke å utføre slettingen\n\n"+e.getMessage());
 	}
 
}
public void StoreQuestions(ArrayList aList)
{	
 eDom_ExamQuestion temp;
 PreparedStatement prepStmt;
 
 try
 {
 	String sqlSetning = 
   "INSERT INTO EXAM_SPM VALUES(?,?,?,?,?,?,?,?,?)";
 	prepStmt = forbindelse.prepareStatement(sqlSetning);
 
 	for(int i=0; i<aList.size(); i++)
 	{
   temp = (eDom_ExamQuestion)aList.get(i);
   prepStmt.setString(1,temp.finnQID());
   prepStmt.setString(2,temp.finnQuestion());
   prepStmt.setString(3,temp.finnCorrect() );
   prepStmt.setString(4,temp.finnAns1());
   prepStmt.setString(5,temp.finnAns2());
   prepStmt.setString(6,temp.finnAns3());
   prepStmt.setString(7,temp.finnAns4());
   prepStmt.setString(8,temp.finnAns5());
   prepStmt.setString(9,temp.finnEksId());
   
   
   int n = prepStmt.executeUpdate();
 	}
 	
 	forbindelse.commit();
 	prepStmt.close();
 
    }
 	
    catch (SQLException e) 
    {
     JOptionPane.showMessageDialog(null,"Klarer ikke å utføre registreringen\n\n"+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
    }  
 
}
public void TomTabell()
{
 Statement stmt;
 	try 
 	{
   stmt = forbindelse.createStatement();
   String sporring = "DELETE FROM EXAM_SPM WHERE eksid >= 0";
   
   int antall = stmt.executeUpdate(sporring);
   
   stmt.close();  	
 	}
 	
 	catch (SQLException e) 
 	{  
   JOptionPane.showMessageDialog(null,"Klarer ikke å utføre slettingen\n\n"+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
 	}    
}
public ArrayList getQuestions(ArrayList AList)
{
 eDom_ExamQuestion kladd;
 Statement stmt;
 	try
 	{
   stmt = forbindelse.createStatement();
   String sporring = "SELECT * FROM EXAM_SPM";
   ResultSet rs = stmt.executeQuery(sporring);
     while (rs.next())
     {
     
     kladd = new eDom_ExamQuestion( rs.getString("SPMID"),
             rs.getString("SPM"),
                                              rs.getString("RIKTIG"),
                                              rs.getString("A"),
                                              rs.getString("B"),
                                              rs.getString("C"),
                                              rs.getString("D"),
                                              rs.getString("E"),
                                              rs.getString("EKSID"));

     
     AList.add(kladd);
     }	
   rs.close();
 	}
 	
 	catch (SQLException e) 
 	{
   JOptionPane.showMessageDialog(null,"Klarer ikke å utføre hentingen\n\n"+e.getMessage(),"Feil!", JOptionPane.ERROR_MESSAGE );
 	}	
 return AList;
}
}

 

hva kan være galt?

Endret av phun-ky
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...