• Viernes 19 de Abril de 2024, 23:26

Autor Tema:  Servlet E Interbase  (Leído 3862 veces)

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Servlet E Interbase
« en: Domingo 25 de Enero de 2004, 16:40 »
0
Hola a todos.
Les comento el problema q tengo.
Estoy desarrollando en JBuiler 6.0, y creo un servlet q se tiene q conectar a una base de
datos de INTERBASE, por lo cual instale el INTERCLIENT (ambos estan ejecutandose como un servicio
en mi maquina).
El problema surge a apartir de q me aparece una excepcion en el driver de la conexion con
la base de datos, pero lo raro es q el driver esta bien escrito, lo mismo q el URL, el nombre
de usuario y contraseña tambien.
Les pongo el codigo del servlet ahora y si alguien me puede ayudar mejor:

package prueba;

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


/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright © 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class conexion extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html";
  private String url = "jdbc:interbase://localhost/c:\\McPato's\\Base.gdb";
  private String username = "SYSDBA";
  private String password = "masterkey";

  ResultSet re;
  String aux;
  String table;

  public void init() throws ServletException {
  }
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String query = "SELECT NOMBRE FROM USUARIOS";
  try
  {
    Class.forName("interbase.interclient.Driver");
    Connection connection = DriverManager.getConnection(url,username, password);
    Statement stmt = connection.createStatement();
    re = stmt.executeQuery(query);
    aux = re.getString("NOMBRE");
  }

  catch(Exception e)
  {
    table = "Excepcion: " + e;
  }

    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>conexion</title></head>");
    out.println("<body>");
    out.println("<p>The servlet has received a GET. This is the reply.</p>");
    out.println("<p>"+aux+"</p>");
    out.println("<p>"+table+"</p>");
    out.println("</body></html>");
  }
  public void destroy() {
  }
}

La excepcion es ClassNotFoundException

Lo otro raro q sucede es que utilizando el DATABASE PILOT de JBuilder, puedo acceder
facilmente a la base de datos, por lo tanto el problema no proviene del driver porque si no no podria acceder a la base de datos desde ningun lado

AYUDA POR FAVOR!!!!!

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #1 en: Domingo 25 de Enero de 2004, 18:19 »
0
Hola de nuevo!!

No tengo ni la menor idea de lo q estaba pasando, pero ya me puedo conectar

Salu2!!!!!!!!!!!!!

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #2 en: Lunes 26 de Enero de 2004, 00:12 »
0
Hola de nuevo.

Antes de empezar, ya se que la pregunta q voy a hacer deberia estar en otro lado o deberia ser una nueva discusion, pero como trata mas o menos de lo mismo, opte por escribirla aca:

Como ya explique, estoy trabajando con JBuilder 6.0 desarrollando Servlets (intentando a los golpes mas bien) y este entorno trae como WEB SERVER a TOMCAT. Estuve leyendo la configuracion del mismo y no encontre donde habria q guardar las paginas HTML q tengan q correr en este servidor. Esto es: Desde una pagina HTML, a traves de datos ingresados por el usuario, los datos son levantados desde el Servlet y este realiza consultas a una base de datos y la modifica (ABM's).
Se como invocar a los servlets desde el browser y en que directorio guardarlos para poder llamarlos asi:
http://localhost8080/MiServlet

pero no se como hacerlo para las paginas HTML (ni donde guardarlas ni como invocarlas)

Si alguien me puede dar una mano, alguien familiarizado con Tomcat o quien sea.

La otra duda q tengo es esta:
En caso de usar el WEB SERVER Resin (de Caucho.org creo) se como hacer la pregunta anterior, pero lo q pasa es con este servidor no puedo invocar al servlet desarrollado con JBuilder. No se por q

Salu2!!!!!!!!! y perdon por incluir este tema aqui

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #3 en: Martes 27 de Enero de 2004, 12:45 »
0
Hola de nuevo, es la cuarta vez q escribo.
Como hay cosas q no resolvi segui adelante y me tope con un problema.
Si en un HTML tengo un CheckBox, como se desde el servlet q el CheckBox esta CHECKED.
Un ejemplo parecido seria:
Si tengo un EditText de nombre "username", desde el servlet puedo ver su contenido de esta manera: String TextoDelCasillero = request.getParameter("username");

No se como hacer algo parecido para saber si hay botones checkeados o no.

Si alguien lo sabe


Salu2!!!!!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Servlet E Interbase
« Respuesta #4 en: Miércoles 28 de Enero de 2004, 03:22 »
0
1-  lo de la base de datos:
private String url = "jdbc:interbase://localhost/c:\\McPato's\\Base.gdb";

esta mal..
si esta bien configurado el servidio de la base de datos no se deberia denotar la ruta de la base de datos para nada...
quedaria algo asi

private String url = "jdbc:interbase://host_name:puerto/database_name

2-no hay manera de saberlo desde el servlet..
es decir lo que hay que hacer es enviar la infromacion del checkbox.. copmo parametro y reinvocar el servlet.. de masnera que este pueda recibir en un parametro el estado del checkbox.. para volver a enviar la pagina..
por supuesto si lo que quieres es ahcer una validacion sencilla seria mas aconsejable javascript que sobrecargar el servidor enviandole un nuevo servlet para procesar.. njo se si me hice entender con lo del servlet.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #5 en: Miércoles 28 de Enero de 2004, 12:57 »
0
JuanK:
No te entendi muy bien lo del Servlet. Lo q vos propones q haga es q mediante Javascript, en el cliente, se verifiquen los CheckBox y se manden por parametro al servlet????? De ser asi, como mando parametros de una pagina HTML a un servlet???

Salu2!!!!!! y Gracias como siempre de diez!!!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Servlet E Interbase
« Respuesta #6 en: Jueves 29 de Enero de 2004, 05:36 »
0
cuentame en detalle que es lo que quieres hacer.....
es facil de explicar lo que dije pero mejor si lo adecuo a tus necesidades directamente.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #7 en: Jueves 29 de Enero de 2004, 12:53 »
0
Juank:

Tengo q hacer una aplicacion web, la cual se basa en "delivery" de snacks ordenando via la net.
Tenemos (junto a un compañero de la facu) una base de datos hecha en interbase conteniendo tablas desde "usuarios" hasta "combos".
La idea basica del proyecto, es mostrar una pagina HTML donde el usuario debe ingresar su nombre de usuario y contraseña. Esa pagina referencia a un servlet, el cual lee los dos datos (user y password), y se fija en la base de datos si el usuario esta registrado (hasta aca esta todo barbaro). El problema surge cuando, habiendo comprobado q el usuario es relamente un cliente, se lo dirige a otra pagina HTML donde se ofrecen los posibles pedidos mediante CheckBox. Mi pregunta es saber cual de los checkbox fue seleccionado en la pagina HTML desde el servlet para q este sea el q modifique la base de datos como asi la disponibilidad de productos en stock.
Quizas, lo mejor seria que la pagina q muestre los posibles pedidos sea una JSP, cosa q en la cual directamente modifique la base de datos sin la necesidad de ningun servlet. Pero al fin y al cabo, como ambos sabemos el JSP termina siendo un servlet y es por eso que quiero hacer todo desde el servlet sin necesidad de JSP.

La verdad es q no se bien q hacer

Si me puedes tirar una mano....

Espero haber sido algo claro.


Salu2!!!!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Servlet E Interbase
« Respuesta #8 en: Viernes 30 de Enero de 2004, 06:09 »
0
facil:
Código: Text
  1.  
  2. &#60;form action=&#34;&#34; method=&#34;get&#34; name=&#34;formulario_quick&#34; id=&#34;formulario_quick&#34;&#62;
  3.         &#60;div align=&#34;left&#34;&#62;
  4.           &#60;label&#62;B&uacute;squeda R&aacute;pida por Palabras clave: &#60;/label&#62;
  5.           &#60;input type=&#34;text&#34; name=&#34;textKey&#34; onFocus=&#34;this.value=''&#34; &#62;
  6.           &#60;input type=&#34;submit&#34; name=&#34;Submit&#34; value=&#34;Buscar&#34; &#62;
  7.         &#60;br&#62;&#60;input name=&#34;chLikely&#34; type=&#34;checkbox&#34; value=&#34;Regxp&#34; checked &#62;
  8.   &#60;span class=&#34;Estilo1&#34;&#62;Buscar Palabras similares&#60;/span&#62;&#60;/div&#62;
  9.       &#60;/form&#62;
  10.  
  11.  

este es el codigo de un formulario, el ultimo item es  un checkbox...
si se envia el formulario los siguientes parametros seran enviados como peticion al servlet:

http://..../.../proyecto_completo.jsp?chLikely=Regxp

es decir el check se envia como parametro al servlet o a lo que quiera que uses
esto sucede automaticamenta al hacer un submit al formulario....
para resivirklo lo harias con:
variable=request.getParameter("chLikely");
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #9 en: Viernes 30 de Enero de 2004, 14:07 »
0
Juank, gracias!!!!

Pero la duda q tenia en cuanto a eso es que una vez recibido, que valor tiene?????

"yes" o "true" o "null" o "no", eso es lo q querria saber y me esta volviendo loco.

Salu2!!!!!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Servlet E Interbase
« Respuesta #10 en: Sábado 31 de Enero de 2004, 06:36 »
0
Código: Text
  1. &#60;input name=&#34;chLikely&#34; type=&#34;checkbox&#34; value=&#34;Regxp&#34; checked &#62;
  2.  

en este caso el parametro enviado por el check box seria  
chLikely
y el valor
Regxp

los parametros SIEMPRE son de tipo String

String variable;
variable=request.getParameter("chLikely");

variable  seria igual a Regxp
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Servlet E Interbase
« Respuesta #11 en: Domingo 1 de Febrero de 2004, 23:47 »
0
Hola a todos de vuelta.

Antes q nada les quiero agradecer la ayuda porque las didas hasta ahora fueron resueltas.
GRACIASSSS!!!!!!
Pero ahora tengo otro problema:

El proyecto que estoy haciendo parte de una pagina HTML en donde se le pide al usuario que
ingrese su nombre de usuario y contraseña. Los datos son leidos por un servlet, el cual checkea
en una tabla de la base si los datos son correctos. En caso de serlos, el servlet redirecciona
a una pagina JSP donde se le ofrece al usuaroi distintos productos. Para no generar falsas expectativas,
esta pagina solo mostrara aquellos productos disponibles en la base de datos.
La idea es que se acceda a la base de datos una sola vez por cuestiones de optimizacion de tiempo
y recursos, por lo tanto, solo desde el servlet (el unico q tendre) podre realizar consultas a
la base. La idea es que en el JSP no pueda acceder a la base, por lo que creo que lo mejor
seria "setear" propiedades en un JavaBean (setear que productos estan o no disponibles) de
manera que el JSP pueda "getear" dichas propiedades y asi evitar un doble acceso a la base de
datos para saber que productos hay en stock y cuales no.
Estuve probando algo con beans, pero no logro hacer que las propiedades del Bean sean mas complejas
que un String o un int (o un tipo de dato propio del lenguaje). A la hora de querer desarrollar
por ejemplo un vector de objetos como propiedad de un Bean, desde el JSP (o desde el Servlet) no los puedo setear ni
getear, peor aun, tampoco pude con un vector de enteros.
Una solucion poco optima seria crear muchas propiedades de tipos basico, pero estaria igualmente
limitado debido a la cantidad de propiedades que necesito.
Quiero aclarar que si pude setear y getear propiedades de tipos basicos en un Bean.

Si alguien me puede dar una mano o si tienen alguna otra idea de como solucionar este problema,
estoy mas q dispuesto a escucharla.
Lamentablemente no he podido ver ningun proyecto de ejemplo que use tipos de datos propios
como propiedad de Beans y vi algo demasiado basico del uso de SERVLETS-JSP-JAVABEANS (todos
a la vez)

Salu2!!!!!!!!