0

I'm creating a JSP page for doing some actions on a database.
Everything is working, but I have to add abstract classes as well. When I put the abstraction on a klasse and his two extensions, I get immidiatly a blue HTTP 500 apache status error.

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: jestem.Software
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.OSWGeefID_jsp._jspService(OSWGeefID_jsp.java:104)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:305)



root cause


java.lang.InstantiationError: jestem.Software
beans.SoftwareBean.<init>(SoftwareBean.java:111)
org.apache.jsp.OSWGeefID_jsp._jspService(OSWGeefID_jsp.java:55)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:305)



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


=============================================
package jestem;


/**
*
* @author  Alwine
*/
public abstract class Software {
// initialisatie
private int swid;
private String naam;
private String versie;
private String patchlevel;
private String licentie;
private String soortlicentie;
private String leverancier;
private String omschrijving;
private String beperkingen;


//nodig bij inlezen uit database
public abstract int getSwid();
public abstract void setSwid(int eenSwid);
public abstract void setNaam(String eenNaam);
public abstract String getNaam();
public abstract String getVersie();
public abstract void setVersie(String eenVersie);
public abstract String getPatchlevel();
public abstract void setPatchlevel(String eenPatchlevel);
public abstract String getLicentie();
public abstract void setLicentie(String eenLicentie);
public abstract String getSoortlicentie();
public abstract void setSoortlicentie(String eenSoortlicentie);
public abstract String getLeverancier();
public abstract void setLeverancier(String eenLeverancier);
public abstract String getOmschrijving();
public abstract void setOmschrijving(String eenOmschrijving);
public abstract String getBeperkingen();
public abstract void setBeperkingen(String eenBeperkingen);
}
============
/*
* Monitor.java
*
* Created on 4 oktober 2005, 15:24
*/


package jestem;



/**
*Klasse monitor is subklasse van hardware
* @author  Administrator
*/
public class Osoftware extends Software{


private int swid = 0;
private String typesw = "";
private String besturingssw = "";
private String naam = "";
private String versie = "";
private String patchlevel = "";
private String licentie = "";
private String soortlicentie = "";
private String leverancier = "";
private String omschrijving = "";
private String beperkingen = "";


/** Creates a new instance of Monitor */
public Osoftware(String eenNaam, String eenVersie) {
naam = eenNaam;
setVersie( eenVersie);
}


public Osoftware() {
}


//set de attribuut waarde van msoort
public void setMsoort(int eenSwid) {
swid = eenSwid;
}


//ophalen msoort
public int getSwid() {
return swid;
}


public void setTypesw(String eenTypesw) {
typesw = eenTypesw;
}
//ophalen aantalprt
public String getTypesw() {
return typesw;
}


public void setBesturingssw(String eenBesturingssw) {
besturingssw = eenBesturingssw;
}
//ophalen aantalprt
public String getBesturingssw() {
return besturingssw;
}


public void setSwid(int eenSwid) {
swid = eenSwid;
}
public void setNaam(String eenNaam) {
naam = eenNaam;
}


public String getNaam() {
return naam;
}


public String getVersie() {
return versie;
}


public void setVersie(String eenVersie) {
versie = eenVersie;
}


public String getPatchlevel() {
return patchlevel;
}


public void setPatchlevel(String eenPatchlevel) {
patchlevel = eenPatchlevel;
}


public String getLicentie() {
return licentie;
}


public void setLicentie(String eenLicentie) {
licentie = eenLicentie;
}


public String getSoortlicentie() {
return soortlicentie;
}


public void setSoortlicentie(String eenSoortlicentie) {
soortlicentie = eenSoortlicentie;
}


public String getLeverancier() {
return leverancier;
}


public void setLeverancier(String eenLeverancier) {
leverancier = eenLeverancier;
}


public String getOmschrijving() {
return omschrijving;
}


public void setOmschrijving(String eenOmschrijving) {
omschrijving = eenOmschrijving;
}


public String getBeperkingen() {
return beperkingen;
}


public void setBeperkingen(String eenBeperkingen) {
beperkingen = eenBeperkingen;
}
}
==============
/*
* Monitor.java
*
* Created on 4 oktober 2005, 15:24
*/


package jestem;



/**
*Klasse monitor is subklasse van hardware
* @author  Administrator
*/
public class Bsoftware extends Software{


private int swid = 0;
private String naam = "";
private String versie = "";
private String patchlevel = "";
private String licentie = "";
private String soortlicentie = "";
private String leverancier = "";
private String omschrijving = "";
private String beperkingen = "";


/** Creates a new instance of Monitor */
public Bsoftware(String eenNaam, String eenVersie) {
naam = eenNaam;
setVersie( eenVersie);
}


public Bsoftware() {
}


//set de attribuut waarde van msoort
public void setMsoort(int eenSwid) {
swid = eenSwid;
}


//ophalen msoort
public int getSwid() {
return swid;
}


public void setSoortlicentie(String eenSoortlicentie) {
soortlicentie = eenSoortlicentie;
}
//ophalen aantalprt
public String getSoortlicentie() {
return soortlicentie;
}


public void setSwid(int eenSwid) {
swid = eenSwid;
}
public void setNaam(String eenNaam) {
naam = eenNaam;
}


public String getNaam() {
return naam;
}


public String getVersie() {
return versie;
}


public void setVersie(String eenVersie) {
versie = eenVersie;
}


public String getPatchlevel() {
return patchlevel;
}


public void setPatchlevel(String eenPatchlevel) {
patchlevel = eenPatchlevel;
}


public String getLicentie() {
return licentie;
}


public void setLicentie(String eenLicentie) {
licentie = eenLicentie;
}


public String getLeverancier() {
return leverancier;
}


public void setLeverancier(String eenLeverancier) {
leverancier = eenLeverancier;
}


public String getOmschrijving() {
return omschrijving;
}


public void setOmschrijving(String eenOmschrijving) {
omschrijving = eenOmschrijving;
}


public String getBeperkingen() {
return beperkingen;
}


public void setBeperkingen(String eenBeperkingen) {
beperkingen = eenBeperkingen;
}
}

Can someone please help me....
thxs.

Edited by happygeek: fixed formatting

4
Contributors
5
Replies
6
Views
11 Years
Discussion Span
Last Post by jwenting
0

yes but it is a java problem ;)

Ummmm.....Are you trying to use the "new" construct to instantiate an abstract class????

The root cause error should give it away.

0

Yep I have another database class with a "new" construct.
It says "jestem/Database.java [129:1] jestem.Software is abstract; cannot be instantiated".
Software eenSoftware = new Software();

What is the better way to do it?

0

You can't create instances of an abstract class. Read up on the why of abstract classes and you should understand how to use them.

In short: an abstract class is a designated root for a class hierarchy, providing a common set of method implementations for functionality to be shared by all classes derived from it.

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.