Erro: O módulo não foi implementado. Quando tento executar uma aplicação web no netbeans

17 respostas
Z

Olha o erro na hora da construção:

Deployment localizado em C:\Users\Wagner Vielmond\Documents\NetBeansProjects\GesWeb\build\web Deployment em andamento... deploy?config=file%3A%2FC%3A%2FUsers%2FWAGNER%7E1%2FAppData%2FLocal%2FTemp%2Fcontext8731257319290025125.xml&path=/gesweb http://localhost:8080/manager/deploy?config=file%3A%2FC%3A%2FUsers%2FWAGNER%7E1%2FAppData%2FLocal%2FTemp%2Fcontext8731257319290025125.xml&path=/gesweb C:\Users\Wagner Vielmond\Documents\NetBeansProjects\GesWeb\nbproject\build-impl.xml:683: O módulo não foi implementado. FALHA NA CONSTRUÇÃO (tempo total: 36 segundos)

e na página quando tento acessá-la:

type Status report

message /gesweb

description The requested resource (/gesweb) is not available.

O que pode ser???

já pesquisei tudo na net mas até agora nada!

estou usando o netbeans 6.9.1 e o tomcat 7.0

obrigado

17 Respostas

H

Só deu esse erro aí?

Z

sim, a princípio…

já reiniciei o netbeans, já limpei e contruí o projeto, e nada… sempre fica assim…

valeu

E

no netbeans, tem várias abas de mensagens de saída, provavelmente no seu deve ter uma aba “Projeto (run)”, outra do lado “Tomcat 7.0.1” ou “Glassfish 3.0.1”, a mensagem de erro completa vai estar na aba do tomcat ou do glassfish.

Z

esse é o erro q aparece na aba do Tomcat 7…

Using CATALINA_BASE: "C:\Program Files\Apache Software Foundation\Tomcat 7.0" Using CATALINA_HOME: "C:\Program Files\Apache Software Foundation\Tomcat 7.0" Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 7.0\temp" Using JRE_HOME: "C:\Program Files\Java\jdk1.6.0_24" Using CLASSPATH: "C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tomcat-juli.jar" java.lang.UnsatisfiedLinkError: C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tcnative-1.dll: Can't load IA 64-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1028) at org.apache.tomcat.jni.Library.<init>(Library.java:42) at org.apache.tomcat.jni.Library.initialize(Library.java:174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:165) at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:81) at org.apache.catalina.connector.Connector.setProtocol(Connector.java:540) at org.apache.catalina.connector.Connector.<init>(Connector.java:71) at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:62) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) at org.apache.catalina.startup.Catalina.load(Catalina.java:555) at org.apache.catalina.startup.Catalina.load(Catalina.java:596) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449) 17/11/2011 22:30:24 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_24\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\PC Connectivity Solution\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared 17/11/2011 22:30:25 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 17/11/2011 22:30:25 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 17/11/2011 22:30:25 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1554 ms 17/11/2011 22:30:25 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 17/11/2011 22:30:25 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.22 17/11/2011 22:30:25 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 17/11/2011 22:30:26 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 17/11/2011 22:30:26 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory host-manager 17/11/2011 22:30:27 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory manager 17/11/2011 22:30:27 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 17/11/2011 22:30:27 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 17/11/2011 22:30:27 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 17/11/2011 22:30:27 org.apache.catalina.startup.Catalina start INFO: Server startup in 2027 ms

e no Tomcat Log:

Nov 17, 2011 7:40:53 PM org.apache.catalina.core.ApplicationContext log Informações: ContextListener: contextInitialized() Nov 17, 2011 7:40:53 PM org.apache.catalina.core.ApplicationContext log Informações: SessionListener: contextInitialized() Nov 17, 2011 7:40:53 PM org.apache.catalina.core.ApplicationContext log Informações: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@4c15d87c') Nov 17, 2011 7:45:09 PM org.apache.catalina.core.ApplicationContext log Informações: SessionListener: contextDestroyed() Nov 17, 2011 7:45:09 PM org.apache.catalina.core.ApplicationContext log Informações: ContextListener: contextDestroyed() 17/11/2011 19:49:53 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 17/11/2011 19:49:53 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 17/11/2011 19:49:53 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@63779885') 17/11/2011 20:17:22 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextDestroyed() 17/11/2011 20:17:22 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextDestroyed() 17/11/2011 20:17:42 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 17/11/2011 20:17:42 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 17/11/2011 20:17:42 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@710ca208') 17/11/2011 20:45:55 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextDestroyed() 17/11/2011 20:45:55 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextDestroyed() 17/11/2011 20:48:25 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 17/11/2011 20:48:25 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 17/11/2011 20:48:25 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@62803d5') 17/11/2011 22:30:19 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextDestroyed() 17/11/2011 22:30:19 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextDestroyed() 17/11/2011 22:30:26 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 17/11/2011 22:30:26 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 17/11/2011 22:30:26 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@710ca208')

Z

será que é pq meu win7 é 64bits?

aparece essa msg na aba Tomcat 7:

Using CLASSPATH: "C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tomcat-juli.jar" java.lang.UnsatisfiedLinkError: C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tcnative-1.dll: Can't load IA 64-bit .dll on a AMD 64-bit platform

E

Faz o seguinte teste (faz o backup desse arquivo antes), apaga o arquivo C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\tcnative-1.dll, se não me engano o tomcat tem uma lib para rodar determinadas partes dele em código nativo do SO, mas essa lib não é necessária para o funcionamento (melhora o desempenho).

Z

Olá pessoal, entrei no tomcat e coloquei o .war e abriu o sistema até por ali hehe, tipo http://localhost:8080/GesObrasWeb/ e deu certo.

mas......

olha o erro que ta aparecendo agora, to tentando conectar com o firebird... e da esse erro:

HTTP Status 500 - 

type Exception report

message 

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

exception 
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 17

14:              <%
15:              String bgColor = "#ffffff";
16:                 try{
17:                     Statement stm = conexao.createStatement();
18:                     ResultSet rs = stm.executeQuery("SELECT S.id_solicitacao,S.SEL,C.nome_contribuinte,C.fone,R.nome_ruas,S.numero,B.nome_bairros,SE.nome_setores,SIT.nome_situacoes,SIT.id_situacao,S.data_hora,S.servico,S.justificativa"
19:                     +" FROM SOLICITACOES S"
20:                     +" LEFT JOIN CONTRIBUINTE C ON S.id_contribuinte=C.id_contribuinte"


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:471)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause 
java.lang.NullPointerException
	org.apache.jsp.index_jsp._jspService(index_jsp.java:176)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

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

O que tem nessa linha?

org.apache.jsp.index_jsp._jspService(index_jsp.java:176)

Se for essa aqui: Statement stm = conexao.createStatement(); é seu atributo conexao que está null

Z

acho q é…

da uma olhada no meu arquivo de conexao ServerConfiguration.jsp

<% Connection conexao = null; File pasta = new File(System.getProperty("user.home")); String[] disco = pasta.toString().split(":"); try { // classe do java.sql que carrega o driver do banco Class.forName("org.firebirdsql.jdbc.FBDriver"); //String ip = "192.9.200.254"; String ip = "127.0.0.1"; //Estabelece a conexão conexao = DriverManager.getConnection ("jdbc:firebirdsql:"+ip+":"+disco[0]+":\\GesObras\\db\\DB.FDB", "SYSDBA", "masterkey"); //Cria objeto de consulta com bando de dados. }catch(ClassNotFoundException e){ System.out.println("excessao ClassNotFound... NAO CONSEGUI CONENCTAR!"); e.printStackTrace(); } %>

e to chamando assim:

<!--<%@ include file="ServerConfiguration.jsp" %>-->

ta correto?

valeu!!!

H

uai, teu código ta comentado não?

<!--<%@ include file="ServerConfiguration.jsp" %>-->

Bem, eu sei que se a linha da JSP com erro for aquela, então tem alguma coisa errada.

Você poderia tirar o código da JSP e colocar em Classes viu.

Essa prática de colocar código em JSP é aconselhavel a ser largada a muitos anos.

Z

hummmm, valeu pela dica cara, é que estou começando agora com jsp....

coloquei em uma classe chamada ConexaoDB_Direta.java

da uma olhada pra ver se ta tudo correto..

creio que deve ta certo, pq tava usando ele para uma aplicação desktop.

package db;
import javax.swing.*;
import java.sql.*;
import java.io.*;

public class ConexaoDB_Direta {
    //pega a unidade instalada
    File pasta = new File(System.getProperty("user.home"));
    String[] disco = pasta.toString().split(":");

      String ip;
      final static private String DRV = "org.firebirdsql.jdbc.FBDriver";
      //private String url = "jdbc:firebirdsql:"+ip+":c:\\gerenciador_extratos\\DB.GDB";
      private String userName = "SYSDBA";
      private String password = "masterkey";
      private Connection conn;
      private Statement st;

      public boolean conecta() {

      try {
      // Gravando no arquivo
      byte[] buffer = new byte[1000];
      InputStream in;
      try {
         in = new FileInputStream(disco[0]+":\\GesObras\\ConfigIP.txt");
         in.read(buffer);
         String temp = new String(buffer).trim().toString();
         ip = temp;
         in.close();
      } catch (FileNotFoundException e) {
         System.out.println(e);
      }
      catch (IOException e) {
         System.out.println(e);
      }

      }
      catch (Exception ee) {
         ee.printStackTrace();
      }

        boolean result = true;
        try {
          System.out.println("antes de conectar");
      Class.forName(DRV);
      conn = DriverManager.getConnection("jdbc:firebirdsql:"+ip+":"+disco[0]+":\\GesObras\\db\\DB.FDB", userName, password);
      System.out.println("depois de conectar");
    }
    catch(java.lang.ClassNotFoundException erroClass) {

      mensagemErro(erroClass.getMessage());
      result = false;
    }
    catch(SQLException erroSQL) {
      mensagemErro(erroSQL.getMessage());
      result = false;
    }
    return result;
  }

  public void desconecta() {
    boolean result = true;
    try {
      conn.close();
    }
    catch(SQLException erroSQL) {
        mensagemErro(erroSQL.getMessage());
      result = false;
    }
  }

  public int regCount(String qry) {
    int result = 0;
    try {
      st = conn.createStatement();
      ResultSet rs = st.executeQuery(qry);
      rs.next();
      result = rs.getInt(1);
      st.close();
    }
    catch(SQLException sqlex) {
      mensagemErro(sqlex.getMessage());
    }
    return result;
  }

  public int exeQuery(String qry) {
    int result = 0;
    try {
      st = conn.createStatement();
      result = st.executeUpdate(qry);
      System.out.println("Resultado= "+result);
      st.close();
    }
    catch(SQLException sqlex) {
      mensagemErro(sqlex.getMessage());
    }
    return result;
  }

  public String getColumn(String qry) {
    String result = "";
    try {
      st = conn.createStatement();
      ResultSet rs = st.executeQuery(qry);
      rs.next();
      result = rs.getString(1);
      st.close();
    }
    catch(SQLException sqlex) {
      mensagemErro(sqlex.getMessage());
    }
    return result;
  }

  public void getColumn(String qry, String[] reg) {
    try {
      Statement st = conn.createStatement();
      ResultSet rs = st.executeQuery(qry);
      rs.next();
      for (int i = 1; i <= reg.length; i++)
        reg[i-1] = rs.getString(i);
      st.close();
    }
    catch(SQLException sqlex) {
      mensagemErro(sqlex.getMessage());
    }
  }

  public void getColumn(String qry, String[][] reg, int lin) {
    try {
      System.out.println(qry);
      st = conn.createStatement();
      ResultSet rs = st.executeQuery(qry);
      for (int i = 1; i <= lin; i++) {
        if (rs.next())
          for (int n = 1; n <= reg[n].length; n++ )
            reg[i-1][n-1] = rs.getString(n);
      }
      st.close();
    }
    catch(SQLException sqlex) {
      mensagemErro(sqlex.getMessage());
    }
  }

  public void setUserName(String valor) {
    userName = valor;
  }

  public void setPassword(String valor) {
    password = valor;
  }

  private void mensagemErro(String msg) {
    JOptionPane.showMessageDialog(
      null,
      msg,
      "Erro",
      JOptionPane.ERROR_MESSAGE);
  }
}

mas como chamo la na index.jsp?????

assim?
<%@page import="db.ConexaoDB_Direta"%>
e depois faço a conexao assim?

ConexaoDB conDir = new ConexaoDB();
conDir.conecta();

valeu

H

Vc vai pegar apenas a Lista/Seu objeto na sua JSP. Não vai mexer com conexão na JSP.

Eu não sei te falar de cabeça, a muito tempo mexo com JSP/Banco de dados.

Z

na minha jsp ta assim:

<%-- 
    Document   : index
    Created on : 03/11/2011, 21:49:47
    Author     : Wagner Vielmond
--%>
<%@page import="javax.swing.JOptionPane"%>
<%@page import="db.ConexaoDB"%>
<%@page import="db.ConexaoDB_Direta"%>
<%@include file="header.jsp"%> 
 <body>
     <div align="center">
     <div id="center">
         <h3>Sistema de solicitação de serviço - GES-OBRAS WEB 1.0</h3>
         <%@ include file="menu.jsp" %>
         <div class="dados">
             <%
             //ConexaoDB conexao = new ConexaoDB();
             ConexaoDB conDir = new ConexaoDB();
             //conexao.conecta();
             conDir.conecta();
             String bgColor = "#ffffff";
                try{
                    conDir.executeSQL("SELECT S.id_solicitacao,S.SEL,C.nome_contribuinte,C.fone,R.nome_ruas,S.numero,B.nome_bairros,SE.nome_setores,SIT.nome_situacoes,SIT.id_situacao,S.data_hora,S.servico,S.justificativa"
                    +" FROM SOLICITACOES S"
                    +" LEFT JOIN CONTRIBUINTE C ON S.id_contribuinte=C.id_contribuinte"
                    +" LEFT JOIN SETORES SE ON S.id_setor=SE.id_setor"
                    +" LEFT JOIN SITUACOES SIT ON S.id_situacao=SIT.id_situacao"
                    +" LEFT JOIN RUAS R ON S.id_rua=R.id_ruas"
                    +" LEFT JOIN BAIRROS B ON C.id_bairros=B.id_bairros ORDER BY S.ID_SOLICITACAO DESC");
               %>
               <table class="table">
                   <tr>
                       <td class="topo" width="10">CÓD</td>
                       <td class="topo" width="250">NOME</td>
                       <td class="topo" width="100">TELEFONE</td>
                       <td class="topo" width="300">RUA</td>
                       <td class="topo" width="30"></td>
                       <td class="topo" width="150">BAIRRO</td>
                   </tr>
                <% while (conDir.resultset.next()){
                    if(bgColor.equals("#ffffff")) {
                        bgColor = "#f0f0f0";
                        } else {
                        bgColor = "#ffffff";
                        }
                %>
                 <tr>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("id_solicitacao")%></td>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("nome_contribuinte")%></td>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("fone")%></td>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("nome_ruas")%></td>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("numero")%></td>
                     <td bgcolor="<%=bgColor %>"><%=conDir.resultset.getString("nome_bairros")%></td>
                <% } %>
                 </tr>
               </table>
               <% } catch (SQLException e){
                     JOptionPane.showMessageDialog(null, "ERRO AO CONECTAR: "+e.getMessage());
                    return;
                   } finally {
                    if (conDir!=null){
                    //out.println("Erro no SQL!"+e.getMessage());
                    JOptionPane.showMessageDialog(null, "ERRO AO CONECTAR");
                     conDir.desconecta();
                     conDir=null;
                   }
                 }
                %>
         </div>
     </div>
     </div>
 </body>
 </html>

o que ta errado será?

só fica carregando e não aparece nada.....

valeu

Z

e ai pessoal…

alguém pode me dar uma luz aiii…

valeu

S

Uma pergunta: - JOptionPane pode ser usado em JSPs?

L

Claro, pode sim…

H

Vc teria que utilizar Applet para isso.

Pq vc não usa componentes web simples mesmo? É o mais utilizado e fácil de ser mantido. [=

Criado 17 de novembro de 2011
Ultima resposta 13 de fev. de 2012
Respostas 17
Participantes 5