Ho scritto un semplice bean di prova:
import java.io.Serializable;

public class Counter implements java.io.Serializable {

private int count = 0;

/** Creates a new instance of Counter */
public Counter() {
}

public int getCount() {
count++;
return this.count;
}

public void setCount(int count) {
this.count=count;
}

}

...e una pagina jsp per utilizzare questo bean:


<%@ page contentType="text/html"%>
<%@ page language="java" %>
<%@ page import="Counter" %>

<html>
<head><title>Bean and JSP Page</title></head>
<body>

<%-- <jsp:useBean id="beanInstanceName" scope="session" class="package.class" /> --%>
<%-- <jsp:getProperty name="beanInstanceName" property="propertyName" /> --%>



<jsp:useBean id="counter" scope="session" class="Counter" />
<!-- Imposta la proprietà count del bean al valore del parametro di richiesta count
utilizzando l'azione jsp:setProperty -->
<jsp:setProperty name="counter" property="count" param="count"/>
<% // Scrive il valore corrente della proprietà count
out.println("Count dal codice scriplet: "+counter.getCount()+"
");
%>

Conteggio da jsp:getProperty:
<jsp:getProperty name="counter" property="count" />

</body>
</html>

la struttura delle cartelle in tomcat è:

...webapps
|
root
| |
| prove --->BeanCounter.jsp
|
|
|
examples
|
tomcat-docs
...
...

nella sottocartelle WEB-INF di root nella cartella
classes ho messo il file compilato del bean

ma quando provo a visualizzare la mia jsp mi viene
visualizzato questo errore:

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

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:7: package Counter does not exist
[javac] import Counter.*;
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:54: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] Counter counter = null;
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:56: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] counter = (Counter) pageContext.getAttribute("counter", PageContext.SESSION_SCOPE);
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:59: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] counter = (Counter) java.beans.Beans.instantiate(this.getClass().getCl assLoader(), "Counter");
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:77: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] out.print(JspRuntimeLibrary.toString((((Counter)pa geContext.findAttribute("counter")).getCount())));
[javac] ^
[javac] 5 errors

Come mai?