Comment executer une class java dans JSP

Fermé
aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014 - 27 févr. 2009 à 23:34
aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014 - 6 mars 2009 à 11:15
Bonjour,
J'ai une class java qui fonctionne très bien dans projet normal
Moi je jeux que cette class sera exécuter dans un projet web
avec jsp
comment je peux importer cette class
comment je peux voir la résultat de l'exécution de ma classe dans une page web

NB-> j'utilise NetBeans6.5+JDK6

Il faut d'abord ajouter la bibliothèque snmp4j au projet et clle ci se trouve ici http://www.snmp4j.org/html/download.html
voila ma class test.java
******************************************************************
import java.io.IOException;
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.event.ResponseListener;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;


public class test {


// @param args
// @throws IOException
public static void main(String[] args) throws IOException
{
Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");
TransportMapping transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);

transport.listen();

CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(1500);
target.setVersion(SnmpConstants.version1);

PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,7})));
pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,5})));
pdu.setType(PDU.GETNEXT);

ResponseListener listener = new ResponseListener()
{
public void onResponse(ResponseEvent event)
{

((Snmp)event.getSource()).cancel(event.getRequest(), this);
System.out.println("Received response PDU is: "+event.getResponse());
}
};
snmp.send(pdu, target, null, listener);
}

}
*******************************************
merci de me donner la solution parce que sa fait un mois que je suis bloquée a ce stade la
merci

2 réponses

nasix Messages postés 12 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 2 mars 2009 8
28 févr. 2009 à 00:18
Salut,

Je te montre sur un exemple très basique comment tu peux utiliser une simple classe dans une JSP :

Dans ton projet Web, crées un package que tu nomme testPackage(par exemple), puis crées dedans une classe TestClass (par exemple) dont le corp est :

public class ClassTest {

public String getHelloWorld(){
return "Hello World !!";
}

}

Dans ta JSP, tu dois importer cette classe, l'instancier et utiliser cette instance :

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@page import="testPackage.ClassTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Exemple d'utilisation d'une classe dans une JSP</title>
</head>
<body>
<h2>
<%
ClassTest ct = new ClassTest();
out.println(ct.getHelloWorld());

%>
</h2>
</body>
</html>


Si tout marche bien, ça doit te générer une page web dont le contenu est bien : "Hello World !! "

Bonne chance pour ton exemple.
6
aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014 2
28 févr. 2009 à 01:18
Merci beaucoup mon ami pour cette exemple consistant je le essayer il marche très
mais ma classe contient un main et il n y a pas de return il ya System.out.println("appel de la methode");
comme se trouve dans l'exemple S.V.P aidez moi a exécuter ma classe merci
0
nasix Messages postés 12 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 2 mars 2009 8 > aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014
28 févr. 2009 à 12:43
Bonjour amine,

ça fait plaisir que ça a marché.

En fait pour ton exemple, tu dois apporter quelques modifications :

1- la fonction main ne sert vraiment à rien comme fonction main (String args[]) parce que le compilateur ne commencera pas par elle, donc peut importe son nom, que tu la nomme ainsi, f() ou g(), pas de différence.

2- L'objet responsable de l'affichage n'est pas toujours System.out, en JSP c'est un objet implicite (déclaré par défaut) appelé "out" (vois mon exemple), qui est de type JspWriter (System.out est de type PrintWriter). Donc pour afficher dans ta fonction main il faut que le lui passes en paramètre.

Exemple :

classe test:
import javax.servlet.jsp.JspWriter;

public class test {
public static void main(JspWriter out) throws IOException{
out.println("Received response PDU is: ");
}
}

Page jsp:
<%@page import="testPackage.test" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Exemple d'utilisation d'une classe dans une JSP</title>
</head>
<body>
<h2>
<%
test.main(out);
%>
</h2>
</body>
</html>


Autre chose, ça ne sert vraiment à rien de laisser cette méthode statique, vu qu'elle n'est pas du tout la fameuse méthode main, porte d'exécution d'un programme.

Bonne chance.
0
aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014 2 > nasix Messages postés 12 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 2 mars 2009
28 févr. 2009 à 18:00
Merci beaucoup pour votre aide
mais après avoir effectuer les modifications le navigateur me renvoie les erreurs suivants
***************************************
HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP

PWC6199: Generated servlet error:
string:///index_jsp.java:6: package testpackage does not exist

PWC6197: An error occurred at line: 20 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
string:///index_jsp.java:63: cannot find symbol
symbol : variable test
location: class org.apache.jsp.index_jsp


note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1_02 logs.
Sun Java System Application Server 9.1_02
*******************************************************************
et moi je suis débutant dans java et c la première foix que je travaille avec java
merci encore une foix pour votre aide nasix
0
nasix Messages postés 12 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 2 mars 2009 8 > aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014
28 févr. 2009 à 23:03
Salut,

L'erreur est bien marquée, " package testpackage does not exist ", tu importes un package qui n'existe pas. Il va falloir que tu crée un package testPackage (par exemple) dans lequel tu mets ta classe test avant de l'utiliser.

Bonne chance.
0
aminelynx > nasix Messages postés 12 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 2 mars 2009
6 mars 2009 à 10:47
salut
j'ai le mm probléme ke toi amine,je vx ke ma classe sera exécuté dans ma page jsp.
j'ai bien importer le package dont il existe
alor là je voulais l'etape suivante
merci
0
aminos88 Messages postés 124 Date d'inscription samedi 9 décembre 2000 Statut Membre Dernière intervention 17 février 2014 2
6 mars 2009 à 11:15
Bonjour amine;
Voila c kil faut faire dans la page JSP
<%@ page import="java.util.*" %>
<%@ page import="testpackage.test" %>

<jsp:useBean id="ts" scope="page" class="testpackage.test" />
<jsp:getProperty name="ts" property="res" />
<%out.println(ts.getres());%>



normalement cava marché commeca
voila mon mail: aminsahnoun@hotmail.com
1