[JSP] object perso

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 7 juil. 2006 à 14:55
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 7 juil. 2006 à 17:41
bonjour ,
j'ai cree une classe pour me simplifié l'acces au base de donnees odnt voici qq morceau:

public Database(String driver, String url, String user, String pass)


throws ClassNotFoundException, SQLException {


this.driver = driver;


this.url = url;


this.user = user;


this.pass = pass;


Class.forName(driver);


this.con = DriverManager.getConnection(url, user, pass);


stmt = con.createStatement();


}




apres dans une JSP j'essai de faire ca :


<%



Database bdd =





new

Database(

"com.mysql.jdbc.Driver"
,


"jdbc:mysql://localhost:8181/daedric"
,

"root"
,


"############"
);String ip = request.getRemoteAddr();

bdd.executeQuery(


"INSERT INTO visiteur VALUES(ip)"
);



%>



apres bien entendu importer le fichier adequate mais tomcat me sors ca :
org.apache.jasper.JasperException: Exception in JSP: /meta.jsp:37

34: %>
35:
36: <%
37: Database bdd = new Database("com.mysql.jdbc.Driver",
38: "jdbc:mysql://localhost:8181/daedric", "root",
39: "#########");
40: String ip = request.getRemoteAddr();

donc ne peut on pas utiliser n'importe quel classe dans les JSP ?
ou alors ou se trouve mon erreur ?

merci
++
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

10 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 juil. 2006 à 16:34
Salut,


je suis pas pro jsp mais normalement tu n'es pas censé try catcher ton
constructeur? me si toute fois tu n'est pas obligé de le faire tu
pourrais le faire afin de voir l'exception et d'y voir plus clair sur
ce qui est levé

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juil. 2006 à 16:46
je l'ai fais ca n'as rien changer
le message n'ai meme pas plus precis
je vais essayer de faire d'autre manip

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
7 juil. 2006 à 16:56
les jasper exception sont des exceptions due normalement au formatage de ta jsp,
est ce qu au dessus t as pas oublié de fermer une taglib ou meme certaines taglib ne peuvent pas etre auto fermantes ...
moi des fois j en ai eu et elle ont diparues mystérieusement avec ptits changements dans l ordre des imports....
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juil. 2006 à 16:59
java.lang.NoClassDefFoundError: com/daedric/jdbc/Database/Database


at org.apache.jsp.meta_jsp._jspService(





meta_jsp.java:186

)at org.apache.jasper.runtime.HttpJspBase.service(



HttpJspBase.java:97

)at javax.servlet.http.HttpServlet.service(



HttpServlet.java:802

)at org.apache.jasper.servlet.JspServletWrapper.service(



JspServletWrapper.java:332

)at org.apache.jasper.servlet.JspServlet.serviceJspFile(



JspServlet.java:314

)at org.apache.jasper.servlet.JspServlet.service(



JspServlet.java:264

)at javax.servlet.http.HttpServlet.service(



HttpServlet.java:802

)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(



ApplicationFilterChain.java:252

)at org.apache.catalina.core.ApplicationFilterChain.doFilter(



ApplicationFilterChain.java:173

)at org.apache.catalina.core.StandardWrapperValve.invoke(



StandardWrapperValve.java:213

)at org.apache.catalina.core.StandardContextValve.invoke(



StandardContextValve.java:178

)at org.apache.catalina.core.StandardHostValve.invoke(



StandardHostValve.java:126

)at org.apache.catalina.valves.ErrorReportValve.invoke(



ErrorReportValve.java:105

)at org.apache.catalina.core.StandardEngineValve.invoke(



StandardEngineValve.java:107

)at org.apache.catalina.connector.CoyoteAdapter.service(



CoyoteAdapter.java:148

)at org.apache.coyote.http11.Http11Processor.process(



Http11Processor.java:869

)at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(



Http11BaseProtocol.java:664

)at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(



PoolTcpEndpoint.java:527

)at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(



LeaderFollowerWorkerThread.java:80

)at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(



ThreadPool.java:684

)at java.lang.Thread.run(Unknown Source)

dans la console j'ai ca , il dit qu'iil ne trouve pas la classe pourtant tout est bien importe
cote navigateaur j'ai :

org.apache.jasper.JasperException: Exception in JSP: /meta.jsp:34

31: for (String s : v)
32: out.println(s + "
");
33:
34: Database bdd = new Database("com.mysql.jdbc.Driver",
35: "jdbc:mysql://localhost:8181/daedric", "root",
36: "##########");
37: String ip = request.getRemoteAddr();


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juil. 2006 à 17:01
org.apache.jasper.JasperException: Exception in JSP: /meta.jsp:34


31:  for (String s : v)
32:   out.println(s + "
");
33:  
34:   Database bdd = new Database("com.mysql.jdbc.Driver",
35:   "jdbc:mysql://localhost:8181/daedric", "root",
36:   "#######");
37:   String ip = request.getRemoteAddr();




Stacktrace:
 org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)






"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
7 juil. 2006 à 17:06
un conseil pour quand ca merde comme ca :
entoure ta jsp d un
<%try{%>
<html.>
blabal

<%}catch(Exception e){LOG.warn(e.getMessage());}
comme ca ta jsp sera executée jusqu ou ca plante et tu pourra voir ce qui merde exactement !!
question : t utilise des taglib ou des trucs comme ca ou t as que du pure java + html dans ta jsp ??
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juil. 2006 à 17:19
voici la jsp !! je test ton truc !!!

<%@



page
language
=

"java"


import
=

"java.lang.*,java.util.*,com.daedric.jdbc.Database.Database,java.sql.*"
%><%



String path = request.getContextPath();


String basePath =




"http://"
+ request.getServerName() +

":"

+ request.getServerPort() + path +




"/"
;


%>







 





<



html
><


head
><


base
href
="

<%=
basePath

%>
"

>







<



title
></
title
>




 





</



head
>







<



body
>







<



br
>

<%=



basePath

%>

<



br
>

<%




String referer = request.getHeader(




"Referer"
);Vector<String> v = getParamOfUnreconized(referer);



for

(String s : v)out.println(s +


"
"
);

Database bdd =



new

Database(

"com.mysql.jdbc.Driver"
,


"jdbc:mysql://localhost:8181/daedric"
,

"root"
,


"#####"
);String ip = request.getRemoteAddr();

bdd.executeQuery(


"INSERT INTO visiteur VALUES("
+ ip +

")"
);



%>


<%!




public

Vector<String> getParamGoolgle(String url) {String gurl = url;

String param = gurl.substring(gurl.lastIndexOf(


"="
) + 1);Vector<String> v =



new

Vector<String>();



if

(param.contains(

"+"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"+"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else


v.add(param);








return

v;}



public

Vector<String> getParamLycos(String url) {String lurl = url;

String param = lurl.substring(lurl.indexOf(


"query="
) + 6, lurl.indexOf(


"&cat"
));Vector<String> v =



new

Vector<String>();



if

(param.contains(

"+"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"+"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else


v.add(param);








return

v;}



public

Vector<String> getParamMozbot(String url) {String murl = url;

String param = murl.substring(murl.indexOf(


"q="
) + 2, murl.indexOf(


"&st"
));Vector<String> v =



new

Vector<String>();



if

(param.contains(

"+"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"+"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else


v.add(param);








return

v;}



public

Vector<String> getParamOfUnreconized(String url) {String uurl = url;



int

begin;



if

(uurl.contains(

"q="
))begin = uurl.indexOf(


"q="
) + 2;



else





if

(uurl.contains(

"search="
))begin = uurl.indexOf(


"search="
) + 7;



else





if

(uurl.contains(

"query"
))begin = uurl.indexOf(


"query"
) + 5;



else





if

(uurl.contains(

"r="
))begin = uurl.indexOf(


"r="
) + 2;



else





if

(uurl.contains(

"rdata="
))begin = uurl.indexOf(


"rdata="
) + 6;



else





if

(uurl.contains(

"data="
))begin = uurl.indexOf(


"data="
) + 5;



else





if

(uurl.contains(

"req="
))begin = uurl.indexOf(


"req="
) + 4;



else


begin = 0;








int

end;



if

(uurl.contains(

"&"
))end = (uurl.indexOf(


"&"
, begin)) > (-1) ? uurl.indexOf(

"&"
, begin): uurl.length();



else


end = uurl.length();


String param = uurl.substring(begin, end);


Vector<String> v =





new

Vector<String>();



if

(param.contains(

"+"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"+"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else





if

(param.contains(

"%20"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"%20"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else


v.add(param);








return

v;

}



public

Vector<String> getParamVoila(String url) {String vurl = url;

String param;



if

(vurl.indexOf(

"&profil"
) < vurl.indexOf(

"&rdata"
))param = vurl.substring(vurl.indexOf(


"&rdata="
) + 7);



else


param = vurl.substring(vurl.indexOf(




"&rdata="
) + 7, vurl.indexOf(


"&profil"
));

Vector<String> v =



new

Vector<String>();



if

(param.contains(

"+"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"+"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else





if

(param.contains(

"%20"
)) {StringTokenizer stk =



new

StringTokenizer(param,

"%20"
);



while

(stk.hasMoreTokens())v.add(stk.nextToken());

}



else


v.add(param);








return

v;}


%>

</



body
></


html
>



"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 juil. 2006 à 17:26
Mais tu la mets ou ta lib? tu es sur qu'il l'a trouve bien?

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
7 juil. 2006 à 17:28
je la met dans le repertoire work
a prioris il devrait la trouver avec ma config de classpath

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 juil. 2006 à 17:41
Bah dans mes essai jsp (ca remonte mais je concerve les sources :P) je fesais comme suis (creer avec nitrox)


Repertoire Projet

    -web

       -pages -> pages jsp

       -res -> images

       -web-inf

          -classes -> classes java

          -lib -> jar mysql et perso

          -src -> fichiers java

          -tld -> tags lib

          web.xml

    -work


voici un extrait du web.xml


<?xml version="1.0" encoding="ISO-8859-1"?>


<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

   

 <display-name>serveur d'information sur la DI</display-name>


  <context-param>

    javax.servlet.jsp.jstl.fmt.localizationContext


    resources.application


  </context-param>

 

  <servlet>

    <servlet-name>menu</servlet-name>

    <jsp-file>/pages/menu.jsp</jsp-file>

  </servlet>

 

  <servlet>

    <servlet-name>login</servlet-name>

    <jsp-file>/pages/login/login.jsp</jsp-file>

  </servlet>

 

  <servlet>

    <servlet-name>authenticate</servlet-name>

    <servlet-class>xxx.xxx.xxx.Authenticate</servlet-class>

  </servlet>

 

  <servlet>

    <servlet-name>blank</servlet-name>

    <jsp-file>/pages/login/blank.jsp</jsp-file>

  </servlet>

   

  <servlet>

    <servlet-name>delete_log_validation</servlet-name>

    <servlet-class>xxx.xxx.xxx.DeleteLogValidation</servlet-class>

  </servlet>

........

  <servlet-mapping>

    <servlet-name>menu</servlet-name>

    /menu

  </servlet-mapping>

 

  <servlet-mapping>

    <servlet-name>login</servlet-name>

    /login

  </servlet-mapping>

 

 

  <servlet-mapping>

    <servlet-name>authenticate</servlet-name>

    /authenticate

  </servlet-mapping> 

 

 

  <servlet-mapping>

    <servlet-name>blank</servlet-name>

    /blank

  </servlet-mapping>



  <servlet-mapping>

    <servlet-name>delete_log_validation</servlet-name>

    /delete_log_validation

  </servlet-mapping>

.....

  <jsp-config>

    <taglib>

      <taglib-uri>/tags/c</taglib-uri>

      <taglib-location>/WEB-INF/tld/c.tld</taglib-location>

    </taglib>

    <taglib>

      <taglib-uri>/tags/fmt</taglib-uri>

      <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>

    </taglib>

    <taglib>

      <taglib-uri>/tags/sql</taglib-uri>

      <taglib-location>/WEB-INF/tld/sql.tld</taglib-location>

    </taglib>

    <taglib>

      <taglib-uri>/tags/x</taglib-uri>

      <taglib-location>/WEB-INF/tld/x.tld</taglib-location>

    </taglib>

    <taglib>

      <taglib-uri>/tags/fn</taglib-uri>

      <taglib-location>/WEB-INF/tld/fn.tld</taglib-location>

    </taglib>

  </jsp-config>

....


  </web-app>

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous