[ pyc @ 09.08.2006. 08:33 ] @
Pokusavam da napravim jedan sasvim prost programcic, ali greska koju dobijam mi zaista puno ne govori o prirodi problema. Nemam neko vece iskustvo sa Javom, pa je sasvim moguce da je problem veoma prost, ali ja ipak ne znam kuda da krenem pri resavanju istog, pa cu ovde da okacim 3 fajla i gresku koja mi se pojavljuje i da zamolim da neko pomogne ako zna.. :)

Artikal.java:
Code:

package oglasi;
import java.util.*;

/**
 *
 * @author marko
 */
public class Artikal {

    private String proizvodjac;
    private String model;
    private double cena;
    private char transakcija;
    private char stanje;
    
    private Date datum = new Date(); //nema ga u modelu
    private long datumunosa = datum.getTime();
    
    /** Creates a new instance of Artikal */
    public Artikal() {
    }
    
    public String getProizvodjac() {
        return this.proizvodjac;
    }
    public void setProizvodjac(String proizvodjac) {
        this.proizvodjac = proizvodjac;
    }
    
    public String getModel() {
        return this.model;
    }
    public void setModel(String model) {
        this.model = model;
    }
    
    public double getCena() {
        return this.cena;
    }
    public void setCena(double cena) {
        this.cena = cena;
    }
    
    public char getTransakcija() {
        return this.transakcija;
    }
    
    public void setTransakcija(char transakcija) {
        this.transakcija = transakcija;
    }
    
    public char getStanje() {
        return this.stanje;
    }
    
    public void setStanje(char stanje) {
        this.stanje = stanje;
    }


}


ArtikalBean.java:
Code:

package oglasi;
import com.db4o.*;

/**
 *
 * @author marko
 */
public class ArtikalBean {
    
    /** Creates a new instance of ArtikalBean */
    public ArtikalBean() {
    }
    
    
    public void dodajArtikal(String proizvodjac, String model, double cena, char transakcija, char stanje) {
        Artikal a = new Artikal ();
        a.setProizvodjac(proizvodjac);
        a.setModel(model);
        a.setCena(cena);
        a.setStanje(stanje);
        a.setTransakcija(transakcija);

        //ovde ide perzistentno pamcenje...
        //ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
        //ObjectContainer db = Db4o.openFile("oglasi.yap");
        //db.set(a);
        //db.close();
    }
 
}


index.jsp:
Code:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<jsp:useBean id="artbean" scope="session" class="oglasi.ArtikalBean" />
<%String url="http://"+request.getLocalName()+":"+request.getLocalPort()+request.getContextPath()+"/";%>

<%
if (request.getParameter("proizvodjac") != null)  {
    String proizvodjac = request.getParameter("proizvodjac");
    String model = request.getParameter("model");
    double cena = Double.parseDouble(request.getParameter("cena"));
    char transakcija = request.getParameter("transakcija").charAt(0);
    char stanje = request.getParameter("stanje").charAt(0);
    artbean.dodajArtikal(proizvodjac, model, cena, transakcija, stanje);
    response.sendRedirect("index.jsp");
    }
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>

     <form name="unos" >
        proizvodjac: <input type="text" name="proizvodjac" width="50" /><br>
        model: <input type="text" name="model" width="50" /><br>
        cena: <input type="text" name="centa" width="50" /><br>
        transakcija: <input type="text" name="transakcija" width="50" /><br>
        stanje: <input type="text" name="stanje" width="50" /><br>
        <input type="submit" value="Potvrdi" name="Submit" />
        <input type="reset" value="Ponisti" name="Reset" />
     </form>
    
    </body>
</html>


i konacno, sama greska:
Code:

HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

root cause

java.lang.NullPointerException
    sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
    java.lang.Double.parseDouble(Double.java:482)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:60)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
[ The Sekula @ 09.08.2006. 10:51 ] @
probacu napamet:

da nije problem u cena i cenTa :

double cena = Double.parseDouble(request.getParameter("cena"));
cena: <input type="text" name="centa" width="50" /><br>


Ono sto je sigurno je da dobijes null pointer exception prilikom parsiranja nekog double-a. Definitivno bi morao da stavis neku proveru da li taj parametar uopste postoji.


[ pyc @ 09.08.2006. 11:27 ] @
zahvaljujem, to je bio problem.... mada, ako mogu da primetim, dosta je cudna i nezgodna javka za takav problem nekakav... zar nigde nije mogao da napise nesto kao "halo covece, nemas tu varijablu, koju si trazio....." :)
[ anon315 @ 09.08.2006. 11:48 ] @
Code:

root cause

java.lang.NullPointerException
       sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
       java.lang.Double.parseDouble(Double.java:482)
[ pyc @ 09.08.2006. 11:58 ] @
da, video sam te dve linije... ali ja sam mislio da je problem u formatu argumenata, a ne u nepostojanju istih..
[ anon315 @ 09.08.2006. 12:18 ] @
NullPointerException ti indikuje upravo ono sto nisi mislio ;)