Tenho a seguinte estrutura de diretórios na minha aplicação:
app/
subdir/
subpage.jsp
WEB-INF/
classes/
Cliente.class
lib/
tld/
index.jsp
Fiz o deploy no Tomcat 5.5. Ocorre que só consigo acessar a classe Cliente com “useBean” nos arquivos JSP da raiz app/
Na subpage.jsp não consigo!
ERRO:
org.apache.jasper.JasperException: /clienteLista.jsp(3,0) The value for the useBean class attribute Cliente is invalid.
Acho que é uma configuração do web.xml certo?
Quando vc faz uso do “<jsp:useBean />” não há nada o que configurar no web.xml.
Tente deixando sua estrutura assim:
app/
subdir/
subpage.jsp
WEB-INF/
classes/
pacote/
Cliente.class
lib/
tld/
index.jsp
ai vc chama assim: <jsp:useBean id=“classe” scope=“page” class=“pacote.Cliente”/>
Na verdade a estrutura dos diretórios que tenho na minha aplicação está igual a do seu exemplo, tenho um pacote com as classes.
Estou me quebrando nessa dúvida pq no meu ambiente de desenvolvimento do Eclipse funciona perfeitamente.’
Acho que o Tomcat no servidor está interpretando cada subdiretório como uma nova aplicação!?
Segue a configuração da aplicação no server.xml do Tomcat:
<Host name="minha.aplicacao.com.br"
appBase="/home/httpd/html/minha.aplicacao.com.br/html" >
<Context path=""
docBase="/home/httpd/html/minha.aplicacao.com.br/html"
crossContext="false"
debug="5"
reloadable="true"
/>
<Context path="/manager" debug="0" privileged="true"
docBase="/usr/local/etc/apache-tomcat-5.5.17/server/webapps/minhaaplicacao">
</Context>
</Host>
Resolvido, era o server.xml errado mesmo, segue o trecho do código acima alterado:
<Host name=“minha.aplicacao.com.br”
appBase="/home/httpd/html/minha.aplicacao.com.br" >