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
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:
<%= request.getAttribute( "valor1" ) %>
<%= request.getAttribute( "valor2" ) %>
<%= request.getAttribute( "valor3" ) %>
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