Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

j2EE ... Gde gresim???

[es] :: Java :: j2EE ... Gde gresim???

[ Pregleda: 2037 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.13.14.vie.surfer.at.



Profil

icon j2EE ... Gde gresim???27.09.2006. u 12:17 - pre 213 meseci
Imam jedan jsp file koji izgleda ovako:

Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.util.Enumeration" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="insertInDB" scope="application"
    class="myDBClasses.MyDBConnection" />
<%
    String firstName = "";
    String secondName = "";
    String email = "";
    
    Enumeration paramEnum = request.getParameterNames();
    
    while(paramEnum.hasMoreElements()) {
        String param = (String)paramEnum.nextElement();
        String values[] = request.getParameterValues(param);
        String paramValue = values[0];
        
        if(param.equals("firstName")) { 
            firstName = paramValue;
        }
        if(param.equals("secondName")) { 
            secondName = paramValue;
        }
        if(param.equals("email")) { 
            email = paramValue;
        }
    }
    
    try {
        insertInDB.connect();
        Statement stmt = insertInDB.getConnection().createStatement();
        //stmt.executeUpdate("insert into Members values(\"" + firstName + "\"," + "\"" + secondName + "\"," + "\"" + email + "\");");
        stmt.executeUpdate("create table a (a varchar(30));");
        insertInDB.close();
    }catch(SQLException e) {
        System.out.println("ERRRRROR:   " + e.getMessage());
    }
%>

<input type="hidden" name="firstName" value="<%= firstName %>" />
<input type="hidden" name="secondName" value="<%= secondName %>" />
<input type="hidden" name="email" value="<%= email %>" />

First Name: <%= firstName %><br>
Second Name: <%= secondName %><br>
eMail: <%= email %><br><br>
</body>
</html>


u paketu myDBClasses imam file MyDBConnection.java u kome mi je sledece:



Code:
package myDBClasses;
import java.sql.*;

public class MyDBConnection {
    
    static Connection conn;
    private static Statement stmt;
    static boolean connState;
    static PreparedStatement pStmt;
    
    public MyDBConnection() {
        conn = null;
        stmt = null;
        connState = false;
    }
    
    //CONNECT Method
    public static void connect() {
        
        if(conn==null) {
            
            try {
                //login data 
                String userName = "root";
                String password = "xxx";
                
                //driver loading
                Class.forName("com.mysql.jdbc.Driver");
                
                //url specification
                String url = "jdbc:mysql://127.0.0.1:3306/myApplication";

                //getting connection
                conn = DriverManager.getConnection(url, userName, password);
                
                //setting Connection state
                connState = true;
                System.out.println("Database connection OPENED");
             
            } catch (Exception e)
                {        
                System.out.println("Cannot connect to database server --> " + e);
                }
        } else {
            System.out.println("Connection is not \"null\"");
        }
    }
    
    //DISCONNECT Method
    /*public static  void disconnect() {
                System.out.println("Database connection CLOSED");
                conn =null;
                connState=false;        
        }*/
    public static void close() {
        try {
            stmt = conn.createStatement();
            //stmt.execute("exit");
            stmt.close();
            conn.close();
            stmt=null;
            conn=null;
            connState=false;
        } catch(SQLException e) {
            System.err.println("Quiting ERROR:\t" + e);
            connState=false;
            stmt=null;
            conn =null;
        }
    }
    
    
    public static boolean getState() {
        return connState;
    }
    public  Connection getConnection() {
        return conn;
    }
    public static PreparedStatement getPStmt(String str) {
        try {
            return conn.prepareStatement(str);
        }catch(Exception e) {
            System.out.println("Cannot prepare statement!\nError: " + e);
            return null;
        }
    }
    public void closePStmt() {
        try {
            pStmt.close();
        } catch(Exception e) {
            System.out.println("Cannot close Prepared Statement!\nError: " + e);
        }
    }
    
}


Kad pokrenem web aplikaciju dobijem gresku:

Code:
type Exception report

message

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

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:409)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:317)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
    com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
    com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
    com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

root cause

java.lang.NullPointerException
    org.apache.jsp.secondStep_jsp._jspService(secondStep_jsp.java:97)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:409)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:317)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
    com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
    com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
    com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)


Gde gresim???

[Ovu poruku je menjao ZeRo8 dana 27.09.2006. u 18:26 GMT+1]
 
Odgovor na temu

milos23
matf
bgd

Član broj: 16989
Poruke: 118
*.eu.s4hc.com.

Sajt: www.autoshowserbia.info


Profil

icon Re: j2EE ... Gde gresim???27.09.2006. u 13:41 - pre 213 meseci
verovatno ti je problem na JSP strani, mozes da pokusas remote debugging, jer los ti je dizajn ako koristis biznis logiku na samom JSP-u

i btw, mogu da nagadjam da je greska u onom delu gde radis:

Code:

if(param.equals("firstName")) { 
            firstName = paramValue;
}
if(param.equals("secondName")) { 
            secondName = paramValue;
}
if(param.equals("email")) { 
            email = paramValue;
}


ovo je losa praksa i dovodi do pucanja programa jer ako je param null dobijas exception

to se resava tako sto obrnes stvar i kazes

Code:

if("firstName".equals(param)) { 
            firstName = paramValue;
}


i sl za ostalo (pri tom jos bolje da ove konstante i definises kao konstante)

poz
 
Odgovor na temu

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.13.14.vie.surfer.at.



Profil

icon Re: j2EE ... Gde gresim???27.09.2006. u 14:43 - pre 213 meseci
Javlja mi ocigledno gresku kod
Code:
Statement stmt = insertInDB.getConnection().createStatement();

Sta sam tu pogresio?
 
Odgovor na temu

milos23
matf
bgd

Član broj: 16989
Poruke: 118
*.eu.s4hc.com.

Sajt: www.autoshowserbia.info


Profil

icon Re: j2EE ... Gde gresim???27.09.2006. u 15:52 - pre 213 meseci
u jsp-u ti je class za bean: myDBClasses.MyDBConnection

a sama klasa ti j eu paketu db
 
Odgovor na temu

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.13.14.vie.surfer.at.



Profil

icon Re: j2EE ... Gde gresim???27.09.2006. u 17:27 - pre 213 meseci
To sam uvideo na pocetku .. greska koju javlja kompajler je drugogo karaktera ...
 
Odgovor na temu

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.13.14.vie.surfer.at.



Profil

icon Re: j2EE ... Gde gresim???27.09.2006. u 22:11 - pre 213 meseci
Pronaso sam resenje ... nisam ubacio mysql connector jar fajl u lib direktorijum. Pozdrav
 
Odgovor na temu

[es] :: Java :: j2EE ... Gde gresim???

[ Pregleda: 2037 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.