Erro no JSP

Pro favor me ajudem,

Não consigo chamar um bean no JSP. Vou dizer os passos que estou fazendo. Desde o zero

Crio um Context no server.xml para minha aplicação.

<Context docBase="teste" path="/teste" reloadable="true" crossContext="true" debug="0">
</Context>

Dentro de webapps agora crio uma pasta chamda teste.
Dentro de teste crio uma pasta chamda WEB-INF.
dentro de WEB-INF, existe a pasta classes e o arquivo web.xml
Crio um arquivo java.

public class User{
        public String getNome(){
                return("Jefferson martins");
        }
}

Salvo este arquivo dentro de WEB-INF/classes/.
Agora criei um arquivo index.jsp

<jsp:useBean id="user" class="User" scope="page"/>
<%=  user.getNome() %>

Salvo na pasta teste.

Em seguida modifco o arquivo web.xml que fica assim

<?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>user</servlet-name>
                <servlet-class>User</servlet-class>
        </servlet>
        <servlet-mapping>
                <servlet-name>user</servlet-name>
                <url-pattern>/User</url-pattern>
        </servlet-mapping>
</web-app>

Mas quando vou ver a pagina aparece esta mensagem

type Exception report

message

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

exception

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

An error occurred at line: 0 in the jsp file: /zzz.jsp

Generated servlet error:
    [javac] Compiling 1 source file

/jakarta/work/Standalone/localhost/teste/zzz_jsp.java:41: cannot resolve symbol
symbol  : class User  
location: class org.apache.jsp.zzz_jsp
      User user = null;
      ^



An error occurred at line: 0 in the jsp file: /zzz.jsp

Generated servlet error:
/jakarta/work/Standalone/localhost/teste/zzz_jsp.java:43: cannot resolve symbol
symbol  : class User  
location: class org.apache.jsp.zzz_jsp
        user = (User) pageContext.getAttribute("user", PageContext.PAGE_SCOPE);
                ^



An error occurred at line: 0 in the jsp file: /zzz.jsp

Generated servlet error:
/jakarta/work/Standalone/localhost/teste/zzz_jsp.java:46: cannot resolve symbol
symbol  : class User  
location: class org.apache.jsp.zzz_jsp
            user = (User) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "User");
                    ^
3 errors


	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
	at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:340)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
	at java.lang.Thread.run(Thread.java:536)

Pro favor alguém pode me ajudar, estou a muito tempo apanhando para isso.

Vlw

Faltou dar um import no User…

<%@page import=“pacote.User”%>

Cara, nunca fiz nada dessa forma sem usar STRUTS, mas vo tentar ajudar:

primeiro… voce esta mapeando um beans? <servlet-mapping ???
nessa linha voce nao deveria estar mappiando um ActionServlet ??

so estou tentando “dar uma luz” :slight_smile:

Hei, amigos não sei se aquela forma esta correta , eu só quero aprender como criar um lugar para fazef minha aplicação e chamar um bean com o jsp. Voces sabem de algum tutorial ou voces mesmos não poderiam dar um passo a passo de como faze estou ficando louco

valew

Cara, vc pode fazer assim:

public class Bean implements Serializable{

// codigos
}

public class Servlet extends HttpServlet{

// codigos

Bean bean = new Bean();
bean.setAquilo(request.getParameter(“sei la”));
bean.setAquilo(request.getParameter(“sei la2”));
request.setAttribute(“bean”, bean);

}

na JSP:
<%@ taglib prefix=“c” uri=“http://java.sun.com/jstl/core” %>
<c:out value="{bean.aquilo}"/>

foi mal a falta de imaginacao(risos)
qualquer coisa é so falar!!

Hein amigos olhem só o que aconteceu.

Aqueles testes que eu fiz estava usando a versão tomcat 4.1

Fiz os testes agora com o tomcat 3.2.1, fiz igual aquele batei no server.xml um context, criei a pasta teste, depois dentro da mesma criei aquele padrão WEB-INF/classes e tudo certinho ali.

Ou seja fiz igual expliquei da outra vez mas nem precisa botar nada no web.xml
Apenas criei a classe no WEB-INF/classes e o JSP que chama ela e deu certo alguém o porque ou como fazer isto no tomcat 4.1

Valews[/code]