Inserir dados de um Objeto em um JavaScript através do servlet

pessoal, estou testando um método aqui e preciso passar as informações de um objeto prum JavaScript que faz uns calculos, pra mostrar pra voces fiz um pequeno exemplo, só quero pegar as informações do Objeto através do Servlet e mandar pro JavaScript que faz o resto do serviço, Ok, sem mais enrolações aí vai o código:

[code]<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>TESTE 5</title>
</head>
<body>
<div class=“teste_cinco”>




JAVASCRIPT PARA BUSCAR DADOS DE UM JBEAN

E INSERIR EM UM METODO PARA USO POSTERIOR


</div>
    &lt;form&gt;
                          &lt;input type="submit" name="Inserirvalores" value="insertValues"&gt;&lt;/input&gt;
                    &lt;/form&gt;
    
                    &lt;script type="text/JAVASCRIPT"&gt;
        
                        function dadosAqui(){
            //a idéia e pegar os dados de um objeto e lançá-los aqui no javaScript
                            var dado1;
                            var dado2;
                            var dado3;
            
            
                        }
                    &lt;/script&gt;


                    &lt;/body&gt;
                    &lt;/html&gt;

[/code]
qual seria mais ou menos o código do servlet a ser implantado pra essa solução ?
o objeto é simples, tem apenas 3 variaveis mas preciso delas somente depois do botão pressionado.
( o original é um projeto da faculdade, como quero aprender, resolvi criar algo bem simples pra vocês não resolverem meu problema por mim)

No servlet, você precisa colocar esses valores num escopo visível para o JSP, por exemplo num atributo do request usando o método setAttribute() do HttpServletRequest.
No JSP, caso se trate de uma lista, você pode usar o <c:forEach> para percorrer os valores ou simplesmente usar expression language “${meuAtributo}” para imprimir o valor.

tens como montar um pequeno exemplo de código pra mim… não sei usar os servlets direito…

No Servlet:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
	(...)

	req.setAttribute("minhaVariavel", "meuValor");

	(...)
		
}

No JSP:

...
&lt;script type="text/JAVASCRIPT"&gt;  
function dadosAqui(){  

    var minhaVariavel = ${minhaVariavel};

}  
&lt;/script&gt;  
...

Ok, entendi, na aplicação original, eu tenho alguns servlets rodando, como eu faço pra aplicação saber pra qual deles mandar essa informação ?

Obrigado.

  1. Olhe qual é a URL do navegador, exemplo: http://localhost:8080/app/pagina
  2. Abra o web.xml e veja se tem algum servlet mapeado (<servlet-mapping>) para esse endereço, exemplo “/pagina”
  3. Com o nome do servlet, localize a declaração do mesmo (<servlet>) e veja qual é a classe que executa

Obs.: Isso não adianta se você estiver acessando diretamente o jsp pela URL, exemplo: http://localhost:8080/app/index.jsp

Agora na aplicação original me apareceu um erro…

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    
<display-name>UNIPAMPA</display-name>
    
    <servlet>
        <description/>
        <display-name>EnsaioServlet</display-name>
        <servlet-name> EnsaioServlet</servlet-name>
        <servlet-class>servlets.EnsaioServlet</servlet-class>
       
    </servlet>
    <servlet-mapping>
        <servlet-name>EnsaioServlet</servlet-name>
        <url-pattern>/servlet/EnsaioServlet</url-pattern>
    </servlet-mapping>
    
</web-app>

tá saindo o seguinte erro.

Erro de implementação:
O arquivo de configuração do Tomcat /home/claudio/NetBeansProjects/SolosMoles/web/META-INF/context.xml parece estar quebrado. Verifique se ele pode ser analisado e se é válido.
Verifique o registro do servidor para maiores detalhes.
at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:232)
at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:284)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:539)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153)
Caused by: org.netbeans.modules.j2ee.deployment.common.api.ConfigurationException: O arquivo de configuração do Tomcat /home/claudio/NetBeansProjects/SolosMoles/web/META-INF/context.xml parece estar quebrado. Verifique se ele pode ser analisado e se é válido.
at org.netbeans.modules.tomcat5.config.TomcatModuleConfiguration.getContext(TomcatModuleConfiguration.java:176)
at org.netbeans.modules.tomcat5.config.TomcatModuleConfiguration.getDatasources(TomcatModuleConfiguration.java:201)
at org.netbeans.modules.j2ee.deployment.config.ConfigSupportImpl.getDatasources(ConfigSupportImpl.java:398)
at org.netbeans.modules.j2ee.deployment.impl.DeploymentHelper.deployJdbcDrivers(DeploymentHelper.java:87)
at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:180)
… 16 more
Caused by: java.lang.RuntimeException: Criação do gráfico DOM falhou: java.lang.RuntimeException: org.netbeans.modules.schema2beans.Schema2BeansException: Doc root ‘Context’ não encontrado no gráfico do DOM! Encontrado ‘web-app’.
at org.netbeans.modules.tomcat5.config.gen.Context.createGraph(Context.java:3178)
at org.netbeans.modules.tomcat5.config.gen.Context.createGraph(Context.java:3162)
at org.netbeans.modules.tomcat5.config.TomcatModuleConfiguration.getContext(TomcatModuleConfiguration.java:169)
… 20 more

Sobre esse outro problema não posso ajudar muito, faz muito tempo que não uso netbeans.
Pela mensagem de erro parece que ele não exportou corretamente o arquivo contexto do tomcat para a pasta que ele usa para executar a aplicação.
Tenta reconstruir o projeto, talvez ele arrume isso sozinho.

Ok, valeu, ali em cima foi um erro bobo de implementação meu, estava mechendo no arquivo errado, infelizmente.
mas enfim, estou re-implantando o projeto final, e mapeei o meu servlet agora assim:
minha url vai pra http://localhost:8080/Solos/

e ali eu quero executar esse servlet, só depois que clica no botãao
mapeei ele assim

<servlet>
        <servlet-name>EnsaioServlet</servlet-name>
        <servlet-class>servlet.EnsaioServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>EnsaioServlet</servlet-name>
        <url-pattern>/Solos</url-pattern>
    </servlet-mapping>

está estranho pra mim…

A URL deve incluir o path do aplicativo, conforme especificado no context.xml no caso do tomcat, portanto ela ficaria algo como: http://localhost:8080/meuAppp/Solos.
Ao acessar essa URL o tomcat vai chamar seu método doGet no EnsaioServlet, o qual deve definir o atributo conforme já expliquei e, ao final, redirecionar a requisição para o JSP a fim de gerar a saída.
O JSP, por sua vez, poderá ler o atributo anteriormente definido no Servlet.
É assim que funciona.