Como Imprimir um Servlet Numa Pagina JSP?

Ola Pessoal!
Estou com o seguinte problema:
Eu tenho uma interface HTML, na qual possui 3 TextFields, nesses campos quando eu entrar com os dados e clicar em “OK” ou “Submit”, esse dados devem ser pegos por um Servlet e impressos em uma página JSP.
Agora como que eu posso fazer isso??? Pois procurei em vários livros e turotiais e não encontrei nada que trabalhe com os dois ao mesmo tempo, ou usava-se Servlet ou JSP.
Alguém poderia me ajudar com links, explicações, tutoriais ou exemplos??

Obrigado e aguardo resposta!

Logan

bem-vindo ao Portal Java… bem, partindo do princípio q vc sabe recuperar esses valores em um servlet, pra passá-los depois para um jsp e apresentar, faça o seguinte, no seu servlet:

request.setAttribute( "valor1", dado1 );
request.setAttribute( "valor2", dado2 );
request.setAttribute( "valor3", dado3 );

request.getRequestDispatcher( "/seuJsp.jsp" ).forward( request, response );

ai no seu jsp, vc faz assim:

<%= request.getAttribute( "valor1" ) %>
<%= request.getAttribute( "valor2" ) %>
<%= request.getAttribute( "valor3" ) %>

Ola mais uma vez!
Obrigado por me ajudar, não encontrava nenhum exemplo dessa maneira!
Então, a minha interface HTML deve ficar no meu código Servlet ou no meu código JSP???

Obrigado e aguardo resposta!

Logan

no seu jsp…

Ola mais uma vez!!!
Prometo que por hoje é a última, hehehe!!!
Estou com um problema em criar o Context do meu exemplo de JSP, estou utilizando o livro: Java para a Web com Servlets JSP e EJB de Budi Kurniawan.
E nesse livro estou tentando fazer o primeiro exemplo mais básico de JSP, mas estou tendo um problema em criar o contexto.
Nesse livro ele utiliza o Tomcat 4 e fala que para apenas editar o arquivo server.xml para que o Tomcat saiba sobre esse novo aplicativo JSP. E também fala que o arquivo está localizado em “config” no Home.
Bom, no Tomcat 5.0.28 não esxiste o diretório config, apenas o conf que também tem o arquivo Server.xml, mas não possui o mesmo código do Tomcat 4, pois ele manda buscar pelo seguinte código:
<Context path"/examples" docBase=“examples” debug=“0”
reloadable=“true”>
.
.
.
</Context>

E depois de fechar a tag <Context> acrescentar o código:

<Context path"/myJSPApp" docBase=“myJSPApp” debug=“0”
reloadable=“true”>
</Context>

Então eu usei o Tutorial do JSP: http://www.mhavila.com.br/topicos/java/tomcat.html

Mas também não obtive sucesso, pois ele manda criar um arquivo .xml no diretório CATALINA_HOME/conf/Catalina/localhost/SimplePage.xml

Então eu criei o seguinte código .xml:

<Context path="/myJSPApp" docBase="${catalina.home}/webapps/myJSPApp" debug=“0”
reloadable=“true”>

</Context>

Mas também não deu certo, ja tentei pela ferramenta de Administração do Tomcat com interface web também, mas também não deu.

Meu arquivo JSP está no diretório:
c:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\webapps\myJSPApp\SimplePage.jsp e possui o seguinte código:

<HTML>
<HEAD>
</HEAD>
<BODY>
JSP IS EASY
</BODY>
</HTML>

Bem, isso pelo menos está certo!

Então se puderem, me digam a forma mais fácil e mais garantida de setar o path do Context ok!

Obrigado!

Logan

esquece isso ai… cria a tua estrutura dentro da pasta /webapps do tomcat… não sei pq insistem em criar contexto externo ao container, bem, eu pessoalmente acho isso horrivel :roll:

Ola!
Eu fiz tudo dentro do Tomcat, mas mesmo assim esta dando erro!

Dê uma olhada nesse exemplo desse link http://www.j2b.com.br/artigos/j2ee/apweb/index.htm, eu segui perfeitamente tudo que ele manda, mas quando eu digito o localhost aparece o seguinte erro:

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
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

Obrigado e aguardo resposta!

Logan

verifique suas versões de tomcat e sdk, pra ver se são compatíveis… verifique se as variaveis de ambiente… em ultimo caso descompacte o tomcat novamente

Ola pessoal!
Respondendo a mim mesmo, o problema que estava dando era o de configurar o Tomcat mesmo, eu estava me esquecendo de setar o path “tools” do jsdk.

Mas é isso ai, valeu mesmo!

Logan

Então, depois de tentar muitas vezes finalizar meu projeto, ainda encontrei 1 problema, não estou conseguindo imprimir os dados inseridos nos campos, se alguem puder me ajudar dê uma olhada no código do meu JSP e do meu Servlet:


JSP: É uma tabela em HTML composta por 3 campos onde o usuário fornecerá 3 strings, logo depois que fecha a tabela </table> coloquei o seguinte código:

&lt;%= request.getAttribute( "valor1" ) %&gt; 
&lt;%= request.getAttribute( "valor2" ) %&gt; 
&lt;%= request.getAttribute( "valor3" ) %&gt; 

E depois disso fechei o </form> o </body> e o </html>


Servlet:

import java.io.;
import java.util.
;
import javax.servlet.;
import javax.servlet.http.
;

public class TestingServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("GET Request. No Form Data Posted");
}

public void doPost(HttpServletRequest request, HttpServletResponse res)
throws IOException, ServletException
{
    Enumeration e = request.getParameterNames();
PrintWriter out = res.getWriter ();
    while (e.hasMoreElements()) {
        String name = (String)e.nextElement();
        String value = request.getParameter(name);
        out.println(name + " = " + value);
    }
    Object dado1 = null;
	Object dado2 = null;
	Object dado3 = null;
    request.setAttribute( "valor1", dado1 ); 
    request.setAttribute( "valor2", dado2 ); 
    request.setAttribute( "valor3", dado3 ); 

    request.getRequestDispatcher( "/myjspapp1.jsp" ).forward( request, res); 
    
}

}


Obrigado!

Logan