OVH Cloud OVH Cloud

Erreur d'import (jsp)

4 réponses
Avatar
collinm
salut

j'ai modifié mon web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>ServletJdbcMVC2</servlet-class>
<load-on-startup>1</load-on-startup>
<servlet-mapping>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
</servlet>
</web-app>


maitenant lorsque je vais à

localhost:8080/test

je vois

Liste du répertoire /

il y a mon fichier: JdbcMVC.jsp


il doit avoir un moyen que lorsqu'on tape: localhost:8080/test
que JdbcMVC.jsp s'exécute automatiquement, mais j'ai pas trouvé

en cliquant sur: JdbcMVC.jsp le fichier compile mais j'obtient l'erreur:

java:6: '.' expected
import Client;

pourtant en regardant sur le web, ça semble légal

<HEAD>
<jsp:useBean id="CLIENT" class="ListeClient" scope="request"> </jsp:useBean>
<%@ page language="java" import="Client" contentType="text/html;
charset=ISO-8859-1"%>
<TITLE>JdbcMVC.jsp</TITLE>
</HEAD>

j'ai une classe Client
www.laboiteaprog.com/Client.java

une classe ListeClient (le bean dans la page jsp)
www.laboiteaprog.com/ListeClient.java

une classe TraitementClient (connection à la bd
www.laboiteaprog.com/TraitementClient.java

une classe ServletJdbcMVC2 ( lance tout le processus et redirige la requête
vers la page JSP
www.laboiteaprog.com/ServletJdbcMVC2.java

une idée?

merci

4 réponses

Avatar
David JOURAND
Bonjour,

il doit avoir un moyen que lorsqu'on tape: localhost:8080/test
que JdbcMVC.jsp s'exécute automatiquement, mais j'ai pas trouvé


Pour cela il faut mettre JdbcMVC.jsp dans la liste des welcome-files :
<welcome-file-list>
<welcome-file>
JdbcMVC.jsp
</welcome-file>
</welcome-file-list>

en cliquant sur: JdbcMVC.jsp le fichier compile mais j'obtient l'erreur:

java:6: '.' expected
import Client;
(...)
<HEAD>
<jsp:useBean id="CLIENT" class="ListeClient" scope="request">
</jsp:useBean>

<%@ page language="java" import="Client" contentType="text/html;
charset=ISO-8859-1"%>
<TITLE>JdbcMVC.jsp</TITLE>
</HEAD>


Essayez plutôt :
<?xml version="1.0" encoding="ISO-8859-1"?>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
</body>
</html>

Votre classe Client n'est dans aucun package ?

--
David Jourand

Avatar
collinm
David JOURAND wrote:

Bonjour,

il doit avoir un moyen que lorsqu'on tape: localhost:8080/test
que JdbcMVC.jsp s'exécute automatiquement, mais j'ai pas trouvé


Pour cela il faut mettre JdbcMVC.jsp dans la liste des welcome-files :
<welcome-file-list>
<welcome-file>
JdbcMVC.jsp
</welcome-file>
</welcome-file-list>

en cliquant sur: JdbcMVC.jsp le fichier compile mais j'obtient l'erreur:

java:6: '.' expected
import Client;
(...)
<HEAD>
<jsp:useBean id="CLIENT" class="ListeClient" scope="request">
</jsp:useBean>

<%@ page language="java" import="Client" contentType="text/html;
charset=ISO-8859-1"%>
<TITLE>JdbcMVC.jsp</TITLE>
</HEAD>


Essayez plutôt :
<?xml version="1.0" encoding="ISO-8859-1"?>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
</body>
</html>

avec les modif, j'ai donc:


<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
<p align="center"><b>liste des clients</b></p>
<div align="center">
<table border="1">
<tbody>
<tr>
<th>code</th>
<th>nom</th>
</tr>
<%
int veclen = client.getcurseur().size();
for(int i=0;i<veclen;i++){
client client = (client)client.getcurseur().elementat(i);
%>
<tr>
<td><%=client.getnom()%></td>
<td><%=client.getprenom()%></td>
<td><%=client.getadresse()%></td>
<td><%=client.getville()%></td>
<td><%=client.getcodepostal()%></td>
</tr>
<% } // fin de la boucle for %>
</tbody>
</table>
</div>
</body>
</html>


à la partie:

<%
int veclen = client.getcurseur().size();
for(int i=0;i<veclen;i++){
client client = (client)client.getcurseur().elementat(i);
%>

tomcat me dit:

The content of elements must consist of well-formed character data or
markup.

Votre classe Client n'est dans aucun package ?


c'est juste une classe tout seul

--
David Jourand



Avatar
Arnaud Berger
Bonjour,

Peut-être la balise
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">

qui n'est pas fermée ?

Cordialement,

Arnaud

"collinm" a écrit dans le message news:
2Hy3e.55047$
David JOURAND wrote:

Bonjour,

il doit avoir un moyen que lorsqu'on tape: localhost:8080/test
que JdbcMVC.jsp s'exécute automatiquement, mais j'ai pas trouvé


Pour cela il faut mettre JdbcMVC.jsp dans la liste des welcome-files :
<welcome-file-list>
<welcome-file>
JdbcMVC.jsp
</welcome-file>
</welcome-file-list>

en cliquant sur: JdbcMVC.jsp le fichier compile mais j'obtient
l'erreur:




java:6: '.' expected
import Client;
(...)
<HEAD>
<jsp:useBean id="CLIENT" class="ListeClient" scope="request">
</jsp:useBean>

<%@ page language="java" import="Client" contentType="text/html;
charset=ISO-8859-1"%>
<TITLE>JdbcMVC.jsp</TITLE>
</HEAD>


Essayez plutôt :
<?xml version="1.0" encoding="ISO-8859-1"?>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
</body>
</html>

avec les modif, j'ai donc:


<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
<p align="center"><b>liste des clients</b></p>
<div align="center">
<table border="1">
<tbody>
<tr>
<th>code</th>
<th>nom</th>
</tr>
<%
int veclen = client.getcurseur().size();
for(int i=0;i<veclen;i++){
client client = (client)client.getcurseur().elementat(i);
%>
<tr>
<td><%=client.getnom()%></td>
<td><%=client.getprenom()%></td>
<td><%=client.getadresse()%></td>
<td><%=client.getville()%></td>
<td><%=client.getcodepostal()%></td>
</tr>
<% } // fin de la boucle for %>
</tbody>
</table>
</div>
</body>
</html>


à la partie:

<%
int veclen = client.getcurseur().size();
for(int i=0;i<veclen;i++){
client client = (client)client.getcurseur().elementat(i);
%>

tomcat me dit:

The content of elements must consist of well-formed character data or
markup.

Votre classe Client n'est dans aucun package ?


c'est juste une classe tout seul

--
David Jourand






Avatar
David JOURAND
Peut-être la balise
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">

qui n'est pas fermée ?


Oui !

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

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
<jsp:directive.page contentType="text/html;charset=ISO-8859-1"
import="Client" />
<html>
<head>
<title>JdbcMVC.jsp</title>
</head>
<body>
</body>
</html>
</jsp:root>

Plus éventuellement se conformer à la spécification JSP Document
(http://java.sun.com/products/jsp/download/index.html) pour les tag <% et
%>... Je n'utilise plus cette notation.

--
David Jourand